扫码阅读
手机扫码阅读
为什么你的微服务不对劲?
194 2024-08-27
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
查看原文:为什么你的微服务不对劲?
文章来源:
TechLead 少个分号
扫码关注公众号
在云原生时代,微服务成为了开发者的默认选择,但实践中带来的问题似乎多于解决的问题。微服务的本质是一个昂贵的分布式系统,基于松耦合协议如HTTP实现应用间的通信。微服务的流行源自大型企业在开发团队扩大和系统需求增长时对单体应用进行拆分,以实现独立开发和部署。
微服务作为分布式系统,涉及多个代价和问题。分布式鉴权面临性能与权限即时撤销之间的矛盾。服务拆分后需要一个编排者来整合数据和流程,但这可能会影响团队独立交付的能力。分布式事务无法实现实时共识,尽管可以通过协调器达到近似共识。团队治理中追求复用能力和端到端交付存在矛盾。分布式查询则需要解决远程连接和笛卡尔运算失效的问题。
工程上,分布式系统的调试难度增加,日志分散在不同服务中,版本发布依赖于其他服务的更新。要设计良好的分布式系统,需要合理设计服务角色,确保服务具有独立提供能力。
参考资料涵盖了分布式系统理论,包括Fischer等人1985年关于分布式共识的不可能性论文,以及CAP定理的解释。
想要了解更多内容?
查看原文:为什么你的微服务不对劲?
文章来源:
TechLead 少个分号
扫码关注公众号
TechLead 少个分号的其他文章
系统设计 | 多语言设计
多语言设计是国际化系统设计的第一步,也是最基本的内容。
随笔:互联网产品化是怎么回事?
国内大多数在垂直领域的互联网公司基本符合这个模型,首先基于现有的线下业务市场做逻辑抽取,沉淀在 SaaS 系统中。并对不满足业务需求的特殊客户做定制开发。
技术管理 | 作为 Tech Lead 应该操心什么?
Tech Lead 能力模型和参考工作任务清单。
技术管理 | 敏捷项目需要有人走在前面
让部分人提前进行技术方案设计、技术预研,力求在迭代启动后,\x26quot;大部队\x26quot; 所需要的准备条件都已具备。
系统设计 | 如何表达迭代技术方案?(战术篇)
本文整理了一些日常项目上进入迭代前的技术方案输出物。
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线