微服务拆分之道

背景 微服务在最近几年大行其道,很多公司的研发人员都在考虑微服务架构,同时,随着 Docker 容器技术和自动化运维等相关技术发展,微服务变得更容易管理,这给了微服务架构良好的发展机会。 在做微服务的路上,拆分服务是个很热的话题。我们应该按照什么原则将现有的业务进行拆分?是否拆分得越细就越好?接下来

SQLAlchemy 执行原生 SQL语句

使用 sqlalchemy ,一般通过 Session 对象 ORM 方式操作数据库。如果需要通过 原生 SQL 语句操作数据库,就需要跟 Engine 和 Connect 对象打交道。 Engine 对象包含数据库连接池和数据库方言,通过 create_engine() 函数来创建,engine

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

一、多表设计 1、表之间关系的划分 数据库中多表之间存在着三种关系,如图所示。 从图可以看出,系统设计的三种实体关系分别为:多对多、一对多和一对一关系。注意:一对多关系可以看为两种: 即一对多,多对一。所以说四种更精确。 实际开发中常用的关联关系,一对多和多对多。而一对一的情况,在实际开发中几乎不用

为 JPA 插上翅膀的 QueryDSL

1. 引言 不可否认的是 JPA 使用是非常方便的,极简化的配置,只需要使用注解,无需任何 xml 的配置文件,语义简单易懂,但是,以上的一切都建立在单表查询的前提下的,我们可以使用 JPA 默认提供的方法,简单加轻松的完成 CRUD 操作。 但是如果涉及到多表动态查询, JPA 的功能就显得有些捉

使用 dnsmasq 转发 dns 请求

首先,什么是 dnsmasq,从官方页面,或者 Wikipedia 上能知道,dnsmasq 可以提供 DNS Forward, 可以作为 DHCP, 它被设计在低功耗,小内存的路由器,防火墙等小型设备上使用。现在的大部分 Linux 发行版都内置了 dnsmasq . dnsmasq 也常常被用来

Markdown 语法说明

概述 宗旨 Markdown 的目标是实现「易读易写」。 可读性,无论如何,都是最重要的。一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。Markdown 语法受到一些既有 text-to-HTML 格式的影响,包括 Setext、

如何应对缓存穿透

相关的问题 数据库TPS是多少,是否进行测试过 缓存击穿有哪些方案解决 前言 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这

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

最近更新了Intellij IDEA到2018.1.5之后,使用之前的授权服务器(http://idea.imsxm.com)会提示Outdated License Server Detected,大意就是下个版本的IDEA会更换授权服务器的算法,之前破解的算法会失效。 Outdated Licen