代码规范 包名请用单数 资源名称一般用单数 资源URL用复数 整体变量和方法的命名请使用驼峰规范 使用lombok,取代Getter,Setter和toString 实体可以...
代码规范 包名请用单数 资源名称一般用单数 资源URL用复数 整体变量和方法的命名请使用驼峰规范 使用lombok,取代Getter,Setter和toString 实体可以...
分层架构是运用最为广泛的架构模式, 几乎每个软件系统都需要通过层来隔离不同的关注点,以此应对不同的需要变化,使得这种变化可以独立进行,此外,分层架构模式还可以用于隔离业务复杂...
我们常常在开发中,需要连接数据库,然而数据库的安全组,一般都是受限制的(为了做网络隔离,只有特定的网段能够访问),比较好的做法就是通过跳板机或者堡垒机来做代理,以下就是如何在...
背景 如果只是在一台主机或者虚拟机上面运行一个容器,那么Docker命令行就足够了,e.g: docker run xxximage。 但是如果需要管理一个100X的容器集群...
背景 根据一份报告显示,大约80%的安全问题发生在应用层,但是在应用层的投入相对匮乏。 造成上面的原因很多,其中比较突出和普遍的原因就是研发团队没有足够的安全意识,常常把安全...
背景 前段时间,做了一个关于如何集成Office365的调研,探索如何将它集成到应用里面,方便多人的协同工作,这种应用场景特别在内部审计平台使用特别多,一些文档需要被不同角色...
战术设计 在DDD中,分两部分,战略设计和战术设计,战略设计很好的帮助我们理清问题域,划分服务,具体可参见: https://www.jianshu.com/p/96801c...
背景 很多团队都在构建API,并且声称自己团队创建的API都是足够的RESTful,今天我们简单聊下RESTful API相关的一些概念和设计实践。 定义 REST(Repr...
背景 随着微服务的兴起,我们强调业务(服务)进程的隔离性,且为了保证服务的高可用和高性能,避免单点事故,我们常常都会通过冗余的方式,会启多个进程来提供相同的服务。那么在基础设...
Mysql存储引擎 MyISAM,不支持事务、也不支持外键,但其访问速度快,对事务完整性没有要求。 InnoDB,提供了具有提交、回滚和崩溃恢复能力的事务安全。但是比起MyI...
背景 事故发生在某个工作日下午,初诊症状为页面响应时间巨长,没有任何反应,页面一直处于加载状态中,根据后端监控平台显示,相关服务的所有实例CPU占用率达到100%,为了快速恢...
分布式事务产生的原因 数据库分库分表 微服务化 在微服务架构中,每个服务在用本地事务的时候,知道自己执行的事务是成功还是失败,但是无法知道其他服务节点的事务执行情况,因此需要...
定义 RxJava extends the observer pattern to support sequences of data/events and adds ope...
在微服务架构下,给我们测试带来了如下挑战: 验证成本高,为了验证多个服务协作后的功能正确与否,需要为每个服务搭建基础设施(包括数据库、缓存等),并执行部署、配置等步骤,以确保...
Spring Cloud 发布于2015年3月 引入NetflixOSS的开源技术栈 基于Spring boot 构建了分布式系统的公共模式 Spring boot是Spri...
什么是单体应用? 如图所示,这个系统采用了三层架构,表现层,业务逻辑层,数据访问层,虽然三层架构解决了应用程序中代码间调用复杂,代码职责不清的问题。但是他只是将应用在逻辑上分...
DDD是什么? 领域驱动设计是一种处理高度复杂域的设计方法,试图分离技术实现的复杂性,围绕业务概念构建领域模型来控制业务的复杂性,以解决软件难以理解,难以演化等问题。团队应用...
当我们在为新的产品或者项目进行系统架构设计、制定演进路线、技术选型的时候,我们需要一些架构原则,来指导我们的架构设计和选型。 架构解决的问题 架构作为构架在业务与技术之间鸿沟...
定义 Event-driven architecture (EDA), is a software architecture pattern promoting the pr...
定义 Synchronous: A business transaction done in a single HTTP request/response exchange,...