责任链模式(职责链模式)详解

在现实生活中,一个事件需要经过多个对象处理是很常见的场景。例如,采购审批流程、请假流程等。公司员工请假,可批假的领导有部门负责人、副总经理、总经理等,但每个领导能批准的天数不同,员工必须根据需要请假的天数去找不同的领导签名,也就是说员工必须记住每个领导的姓名、电话和地址等信息,这无疑增加了难度。

在计算机软硬件中也有相关例子,如总线网中数据报传送,每台计算机根据目标地址是否同自己的地址相同来决定是否接收;还有异常处理中,处理程序根据异常的类型决定自己是否处理该异常;还有 Struts2 的拦截器、JSP 和 Servlet 的 Filter 等,所有这些,都可以考虑使用责任链模式来实现。

继续阅读责任链模式(职责链模式)详解

划分微服务边界的5个特征

你的微服务是否太小?或者太紧密耦合?本设计指南可以提供帮助。

设计微服务往往更像是一门艺术而不是科学。本文提出五个建议:

1.它不会与其他服务共享数据库表

2.它拥有最少量的数据库表

3.它设计为有状态的或无状态的

4.其数据可用性需求

5.这是真相的唯一来源

继续阅读划分微服务边界的5个特征