扫码阅读
手机扫码阅读
为什么你的微服务不对劲?
59 2024-08-27
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
查看原文:为什么你的微服务不对劲?
文章来源:
TechLead 少个分号
扫码关注公众号
在云原生时代,微服务成为了开发者的默认选择,但实践中带来的问题似乎多于解决的问题。微服务的本质是一个昂贵的分布式系统,基于松耦合协议如HTTP实现应用间的通信。微服务的流行源自大型企业在开发团队扩大和系统需求增长时对单体应用进行拆分,以实现独立开发和部署。
微服务作为分布式系统,涉及多个代价和问题。分布式鉴权面临性能与权限即时撤销之间的矛盾。服务拆分后需要一个编排者来整合数据和流程,但这可能会影响团队独立交付的能力。分布式事务无法实现实时共识,尽管可以通过协调器达到近似共识。团队治理中追求复用能力和端到端交付存在矛盾。分布式查询则需要解决远程连接和笛卡尔运算失效的问题。
工程上,分布式系统的调试难度增加,日志分散在不同服务中,版本发布依赖于其他服务的更新。要设计良好的分布式系统,需要合理设计服务角色,确保服务具有独立提供能力。
参考资料涵盖了分布式系统理论,包括Fischer等人1985年关于分布式共识的不可能性论文,以及CAP定理的解释。
想要了解更多内容?
查看原文:为什么你的微服务不对劲?
文章来源:
TechLead 少个分号
扫码关注公众号
TechLead 少个分号的其他文章
系统设计 | 基于读者反馈的补充更新 (1)
频率表达格式,SSE 推送,DSL 补充案例,高精度计算相关库,基于 HTML 的PDF 导出,补充流程引擎、规则引擎、公式引擎区别。
理解 DDD:编程中的模型思维
业务设计上往往没有建立起特定的领域模型,这是我们架构腐化和软件开发困难的关键原因。**业务领域建立好的模型,并指导代码实践,这就是 ”编程思维“。** DDD 领域驱动设计就是解决这部分问题,与其叫领域驱动设计,不如叫做模型驱动设计。
系统设计 | UUID 和 自增 ID 怎么选?
两种方案的权衡利弊。
系统设计 | 软件开发过程中的模型
结合多年的工作经验,将整套软件系统设计过程中用到的工具、输出物整理到下图。
形势分析和运用
几乎每个人都有这种困惑,自己有一个完美的点子,想做一些自己以为有价值的事情,但是无论怎么样都无法推动,到头来都是自己一个人使劲儿。
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线