Happy Coding, Happy Life

微服务实战(0) - 聊聊开篇

| Comments

[如需转载,请联系本人]

过去的几个月,我作为独立咨询师,为多个传统企业提供了微服务架构的培训、咨询以及交付工作。在这些企业中,大部分的开发者对微服务的理解,以“银弹观念”为主。实际上,传统企业在过去多年的业务积累中,由于组织架构、业务发展和市场竞争等综合因素,技术体系相对封闭,缺乏快速交付的理念。因此,微服务的出现,加之社区的热捧,导致这种现象出现也是比较能理解的。

经过2015年的快速普及,微服务的优势被越来越多的传统组织和企业所认可,但由于架构相关的知识本身比较抽象,虽然各大会议上有很多互联网公司的案例分享,但开发者似乎依然很难全面了解微服务架构。

所以,希望通过本系列的文章,以一个模拟的案例为背景,以持续交付和DevOps为主线,帮助初学者理解微服务架构,并能通过动手实验,了解相关的实践以及方法论。

精彩课程已经出炉,请移步这里

为什么搞这么个系列

1.微服务涉及内容广泛,学习成本高

微服务架构提倡将单一应用程序划分成一组小的服务每个服务运行在独立的进程中,服务间采用轻量级的通信机制互相协作(通常是基于 HTTP 协议的 RESTful API ),每个服务都围绕着具体业务进行构建,并且能被独立的开发、测试、构建、部署和交付

客观来说,微服务架构所涉及的内容,已经不仅仅是架构本身,还包括了持续集成持续交付自动化测试部署/运维、监控以及DevOps等多个方面,这些方面互相配合、相辅相成,才能在微服务实施的过程中展现威力。

一个完整的微服务系统,在实施的过程中,可能还要考虑服务的公共支撑部分,包括但不限于:

  • 日志聚合(将不同服务实例上的日志聚合起来,便于分析、统计和定位问题)
  • 监控告警(监控每个服务的状态,必要时产生告警)
  • 服务的注册和发现机制
  • 服务的认证鉴权
  • 服务构建打包机制
  • 服务间的接口测试
  • 持续集成/持续交付流水线
  • 服务依赖关系管理
  • ……

对于这么多的内容,如果能基于模拟场景的理解与练习,再借鉴各大会议上诸多公司的微服务实施案例,能够快速理解并开始尝试。

2.《微服务与实践》一书,该更新更新了

2015年4月,我开始撰写《微服务架构与实践》一书,当时国内微服务架构的概念还谈的比较少,所以《微服务架构与实践》侧重讲了微服务的理论基础和诞生背景,并分享了我在ThoughtWorks就职期间,实现微服务的工作方式(我们以持续交付和DevOps为核心,构建服务开发模板,并基于AWS实现快速发布,快速监控,快速反馈)。同时,也探讨了我们如何将遗留系统改造成微服务架构的策略和步骤,但由于精力有限,很多细节无法一一展开讨论。

另外,书中的大部分例子都是以Ruby和AWS为主,很多读者也提出了建议,希望给出采用Java实现的例子,更容易理解和使用。

当今时代,技术发展的速度越来越快,诞生的框架、工具越来越多,虽然有心更新书的内容,但时间和精力都无法快速更新并发布新版,所以,这次希望能通过这个系列,先将过去的一些实践细化,包括DevOps、持续集成、持续交付以及使用Pact等实践,并采用Java(基于Spring Boot/Spring Cloud的快速发展)实现一个模拟的案例。

3. 为感兴趣的传统开发者提供可用的案例

过去两年微服务的快速发展,已经有很多传统企业开始尝试使用微服务解耦业务系统。传统企业和互联网企业的业务形态不一样,互联网公司业务变化快,响应速度快,组织愿意积极尝试开源的工具和方法论,降低交付成本和缩短交付周期。互联网领域中,大部分的产品,本身就是基于分布式系统构建,所以微服务的概念只是新瓶装旧酒。

而传统企业在过去多年的业务运作积累中,综合多种因素(组织结构、业务发展等),技术体系相对封闭,缺乏持续交付的理念。如果光有微服务的理论基础,和业界的成功案例,不动手尝试持续交付、DevOps等,很难有深刻的理解。

Github上微服务相关的实现Repo蛮多,但作为完整系列的不多。

所以,基于这些原因,结合过去为企业实施微服务架构培训的内容,也希望能输出这个系列。

受众用户是谁

  • 本系列的受众用户,主要是年轻(1~3年)的Java开发者、传统应用的IT架构师,以及对微服务感兴趣的童鞋们。

  • 希望通过本系列,能将微服务、持续交付、Docker以及DevOps等技术,作为整体输出,帮助大家缩短系统了解微服务的成本。

数据说话

关于IT社区对微服务的关注度和市场的需求数据,请看下图,一个字🔥。

图的上部分是Google Trends上关于Microservice的增长趋势。

图的左下部分是Microservice相关关键字的增长速度,Breakout表明在搜索的区间内,其增长的幅度超过5000%。

图的右下部分是Indeed.com中对于Microservice的市场招聘需求的增长曲线。(趋势来了,挡都挡不住,提升个人竞争力,赶紧哈~ 😝)

总结

好的,进入正题,请移步课程

Comments

comments powered by Disqus