整体html
微服务拆分安全
Mike从他的角度概括这篇论文中的其余一些核心观点,以下:架构
第必定律:Communication dictates design(组织沟通方式会经过系统设计表达出来)异步
第二定律:There is never enough time to do something right, but there is always enough time to do it over(时间再多一件事情也不可能作的完美,但总有时间作完一件事情)分布式
第三定律:There is a homomorphism from the linear graph of a system to the linear graph of its design organization(线型系统和线型组织架构间有潜在的异质同态特性) 微服务
第四定律: The structures of large systems tend to disintegrate during development, qualitatively more so than with small systems(大的系统组织老是比小系统更倾向于分解spa
参考 https://www.cnblogs.com/gudi/p/6685474.html线程
微服务挑战设计
1. 数据一致性(分布式事务)3d
11, 可靠性事件模式(消息队列)
12. 补偿模式 - sagas 模式
服务网关
和终端用户进行通讯, 好比 身份认证,处理权限,安全防护, 流量控制等。
避免微服务 直接与 终端用户进行 链接 。
服务网关尽可能不要 夹杂 业务逻辑
舱壁 隔离: 好比 调用的每一个 微服务 来 一个线程池,这样 出故障以后就 减小了 故障的传播
服务降级: 微服务调用之间 出错:返回给最终用户空页面或者空数据
实践
SOA vs 微服务
拆分原则和方法
开始微服务,服务粒度能够粗一点
环型依赖,容易死循环, 双向依赖就是高耦合了
微服务的数据一致性
2pc 即 两阶段提交
并无回滚,只是有了 幂等 。
使用MQ 异步发消息,提升吞吐量
须要按照顺序 进行, 操做比较复杂。
以上来自慕课网