伦敦组织微服务设计与开发揭秘

需积分: 16 1 下载量 38 浏览量 更新于2024-07-16 收藏 6.99MB PDF 举报
"James Lewis的《Micro Services - Java的Unix方式》是一份关于微服务架构的详细描述和概念探讨。该文档由James Lewis撰写,他是一位资深工程师和主咨询顾问,同时也是ThoughtWorks团队的一员,负责分享微服务实践中的故事。这份资源的核心关注点在于微服务设计和实现方法,特别是在一个伦敦组织开发新产品的背景下。 文档开始时,提及了一个伦敦公司的新产品开发项目,该组织已经列出了高层次的需求,并寻求ThoughtWorks的帮助进行设计和构建。经过分析,项目涉及大约5000个用户故事,按照每对开发者每周完成7个故事的效率计算,这将是一个相当大的工程量。 在项目进行的过程中,作者提出第一条原则:'Divide and Conquer',即从外部开始,模型化业务能力。具体来说,涉及的产品功能包括产品访问与权限(A/E Services)、用户/角色管理、元数据存储、配置和报告服务等关键组件。例如,用户首先关注的是如何通过API和服务来处理产品访问控制和用户角色管理,接着构建能够管理和检索元数据的仓库,以及配置管理和报告系统,这些都是微服务架构中至关重要的组成部分。 在实现过程中,作者提到曾计划构建一个资源导向、事件驱动的系统,这个系统基于约1000行代码的应用,但并未详述具体的实现细节。然而,这个例子展示了微服务架构如何通过将大型应用程序分解成小型、独立的服务来提升系统的可维护性、扩展性和响应速度。 文档还提到了“半途而废”、“牛回家”、“地狱结冰”等俚语,可能暗示了在开发过程中遇到的一些挑战和可能出现的问题,但没有深入展开。最后,虽然没有明确指出何时发布最新版本,但强调了微服务与嵌入式Servlet容器的关系,表明这份文档可能是关于微服务架构的最佳实践和策略的深入讨论。 《James Lewis Micro Services - Java的Unix方式》提供了一个实用的指南,阐述了如何在实际项目中应用微服务架构,以及在这个过程中所面临的决策和战术。这份文档对于理解和实施微服务架构的开发人员和架构师来说,具有很高的参考价值。"