成都没有派对🎉

  • 首页
  • 请我喝茶
  • 蛤?
No Party For ChengDu
JAVA

微服务拆分之道

背景 微服务在最近几年大行其道,很多公司的研发人员都在考虑微服务架构,同时,随着 Docker 容器技术和自动化运维等相关技术发展,微服务变得更容易管理,这给了微服务架构良好的发展机会。 在做微服务的路上,拆分服务是个很热的话题。我们应该按照什么原则将现有的业务进行拆分?是否拆分得越细就越好?接下来一起谈谈服务拆分的策略和坚持的原则。 拆分目的是什么? 在介绍如何拆分之前,我们需要了解下拆分的目的是什么,这样才不会在后续的拆分过程中忘了最初的目的。 拆分的本质是为了将复杂的问题简单化,那么我们在单体架构阶段遇到了哪…

2023年10月9日 0条评论 1136点热度 0人点赞 suxiaomi 阅读全文
未分类

SQLAlchemy 执行原生 SQL语句

使用 sqlalchemy ,一般通过 Session 对象 ORM 方式操作数据库。如果需要通过 原生 SQL 语句操作数据库,就需要跟 Engine 和 Connect 对象打交道。 Engine 对象包含数据库连接池和数据库方言,通过 create_engine() 函数来创建,engine 对象的 connect() 方法返回 Connection 对象,Connection 对象提供 execute() 方法,允许通过原生 sql 语句来操作数据库。 本篇以 SQLite 数据库为例,简单介绍原生 SQL…

2022年9月23日 0条评论 2271点热度 175人点赞 suxiaomi 阅读全文
JAVA

Spring Data JPA——多表设计、一对多、多对多、多表查询

一、多表设计 1、表之间关系的划分 数据库中多表之间存在着三种关系,如图所示。 从图可以看出,系统设计的三种实体关系分别为:多对多、一对多和一对一关系。注意:一对多关系可以看为两种: 即一对多,多对一。所以说四种更精确。 实际开发中常用的关联关系,一对多和多对多。而一对一的情况,在实际开发中几乎不用。 2、在JPA框架中表关系的分析步骤 跳转到目录 在实际开发中,我们数据库的表难免会有相互的关联关系,在操作表的时候就有可能会涉及到多张表的操作。而在这种实现了ORM思想的框架中(如JPA),可以让我们通过操作实体类就…

2021年10月20日 0条评论 2918点热度 2人点赞 suxiaomi 阅读全文
未分类

为 JPA 插上翅膀的 QueryDSL

1. 引言 不可否认的是 JPA 使用是非常方便的,极简化的配置,只需要使用注解,无需任何 xml 的配置文件,语义简单易懂,但是,以上的一切都建立在单表查询的前提下的,我们可以使用 JPA 默认提供的方法,简单加轻松的完成 CRUD 操作。 但是如果涉及到多表动态查询, JPA 的功能就显得有些捉襟见肘了,虽然我们可以使用注解 @Query ,在这个注解中写 SQL 或者 HQL 都是在拼接字符串,并且拼接后的字符串可读性非常的差,当然 JPA 还为我们提供了 Specification 来做这件事情,从我个人使…

2021年9月24日 0条评论 2450点热度 2人点赞 suxiaomi 阅读全文
未分类

JPA @Lock(value = LockModeType.PESSIMISTIC_WRITE) 悲观锁防坑

前提: 由于业务需要在entity Product已经实现了@version的乐观锁的基础上再加上了悲观锁的控制 @Lock(value = LockModeType.PESSIMISTIC_WRITE) Product findByType(String type); 详情描述: 但是当进行多请求的并发测试的时候发现程序第一个抢占findByType的请求能正常上锁,其它并发请求也正常进入等待,可是当第一个请求修改product并且提交事务释放锁的时候,其它等待请求准备上锁的时候却抛出了乐观锁的错误,为什么会出现…

2021年9月24日 0条评论 2583点热度 0人点赞 suxiaomi 阅读全文
未分类

Idea连接Mysql错误:javax.net.ssl.SSLHandshakeException connecting to mysql

错误提示: [08S01]Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher…

2021年7月1日 0条评论 2723点热度 0人点赞 suxiaomi 阅读全文
日常

使用 dnsmasq 转发 dns 请求

首先,什么是 dnsmasq,从官方页面,或者 Wikipedia 上能知道,dnsmasq 可以提供 DNS Forward, 可以作为 DHCP, 它被设计在低功耗,小内存的路由器,防火墙等小型设备上使用。现在的大部分 Linux 发行版都内置了 dnsmasq . dnsmasq 也常常被用来缓存 DNS 请求,用来加速访问过的地址速度。 DNS 使用 dnsmasq 很大一部分应用场景就是缓存 DNS 解析,dnsmasq 首先会检查 /etc/hosts 等本地静态的 hosts 文件,然后使用 /etc…

2021年5月6日 0条评论 3982点热度 0人点赞 suxiaomi 阅读全文
日常

Markdown 语法说明

概述 宗旨 Markdown 的目标是实现「易读易写」。 可读性,无论如何,都是最重要的。一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。Markdown 语法受到一些既有 text-to-HTML 格式的影响,包括 Setext、atx、Textile、reStructuredText、Grutatext 和 EtText,而最大灵感来源其实是纯文本电子邮件的格式。 总之, Markdown 的语法全由一些符号所组成,这些符号经过精挑细选,其作用…

2020年10月20日 0条评论 3567点热度 1人点赞 suxiaomi 阅读全文
JAVA

如何应对缓存穿透

相关的问题 数据库TPS是多少,是否进行测试过 缓存击穿有哪些方案解决 前言 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。 解决方案 有很多种方法可以有效地解决缓存穿透问题,最常见的则是采用布隆…

2018年12月13日 3条评论 7629点热度 14人点赞 suxiaomi 阅读全文
软件激活

Jetbrains 2019.1激活补丁[持续更新]

最近更新了Intellij IDEA到2018.1.5之后,使用之前的授权服务器(http://idea.imsxm.com)会提示Outdated License Server Detected,大意就是下个版本的IDEA会更换授权服务器的算法,之前破解的算法会失效。 Outdated License Server Detected Your license ticket is obtained from an outdated version of the license server. To keep you…

2018年7月6日 76条评论 153755点热度 140人点赞 suxiaomi 阅读全文
1234

COPYRIGHT © 2023 成都没有派对🎉. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang