聊聊六边形架构
指导我们写出漂亮代码有一种方式是学习设计模式,自从 Gof 四人组的《设计模式》出版后,各类设计模式的书层出不穷。熟读这类书籍,对面试肯定是有帮助的,但代码能力是否有大的长进就不一定了,如果没能理解背后的思想,去生搬硬套,只会起反作用。
发布于 技术
如何设计 API?
在前后端分离的设计中,不管使用什么语言,后端都需要提供 WebAPI 给前端使用。如果是一个平台级的产品,还有可能需要将平台的公共 API 提供给第三方系统使用,这些都要考虑到 API 的设计。
发布于 技术
读《持续架构实践》
之前看到过一种言论,说相比互联网产品,做 ToB 产品没有那么大的业务量,也没有那么多的用户量,所以非功能性的需求没那么重要,重要的还是业务。
发布于 读书
微服务:事务管理
几乎所有的信息管理系统都会涉及到事务,事务的目的是为了保证数据的一致性,这里说的一致性是数据库状态的一致性。 说到数据库状态的一致性,相信大家都会想到 ACID : 原子性(Atomic):在一个事件的多个数据库操作中,要么同时成功,要么同时失败,例如:转账业务; 隔离性(Isolation):不同的业务之间处理数据相互独立,互不影响 持久性(Durability):正常提交的数据能够被持久化,不丢失数据,比如 mysql 天然就能持久化,redis 、 rabbitmq 也能通过设置进行持久化; 一致性(Consistency):最终的数据正确,所以说是通过 AID 这些手段来保证了 C 。