微服务简介
简而言之,微服务架构风格是一种将单个应用程序开发为“一套小型服务”的方法,每个服务“运行在自己的进程中”,并通过轻量级机制(通常是HTTP资源API)进行通信。这些服务“围绕业务功能构建”,并通过全自动部署机制“独立部署”。“这些服务只有最低限度的集中管理”,可能是用不同的编程语言编写的,并使用不同的数据存储技术。
微服务是一种架构,这种架构是将单个的整体应用程序分割成更小的项目关联的独立的服务。一个服务通常实现一组独立的特性或功能,包含自己的业务逻辑和适配器。各个微服务之间的关联通过暴露api来实现。这些独立的微服务不需要部署在同一个虚拟机,同一个系统和同一个应用服务器中。
小编作为有追求的开发人员和架构师,这必须得帮助大家把微服务给整明白,今天给大家推荐一本书《微服务实战》,通过学习本书的内容,大家将了解如何进行微服务应用的开发和部署、如何通过微服务来现有的持续交付,以及如何用Kubemetes Docker和Google Container Engine 开发实例。需要完整文档的小伙伴,【查看文末下方】即可获取!
第一部分简单介绍了微服务,研究了微服务系统的特性和益处,以及开发过程中可能面临的挑战。
第一章 介绍微服务架构,分析微服务方案的优缺点,并解释微服务开发的关键原则,最后介绍微服务的设计和部署所面临的挑战。
第二章 将把微服务方案运用到一个例子(SimpleBank)中。
第二部分研究微服务应用的架构和设计
第三章 介绍微服务应用的四层架构:平台层、服务层、服务边界和客户端,旨在为读者提供一套通用的宏观模型,一个在理解任何一个具体的微服务系统的架构时都可以使用的模型。
第四章 介绍微服务设计中最困难的部分:如何决定服务的职责范围。
第五章 探究如何在事务保证不再适用的分布式系统中编写业务逻辑。
第六章 介绍可靠性。
第七章 介绍如何设计一个可复用的微服务框架,以及在多个微服务间采用一致的方式来提升整个应用的质量和可靠性并减少新服务的开发时间。
第三部分给出微服务部署的一些最佳实践。
第八章 强调微服务应用中自动化持续交付的重要性。
第九章 介绍了Kubemetes。
第十章 基于前面章节的实例用Jenkins来搭建一套端到端的交付流水线。
第四部分会研究微服务的可观测性以及微服务开发中“人”的因素。
第十一章 用StatsD、Prometheus和Grafana收集和聚合数据,以此来生成仪表盘和告警信息,最终为微服务开发出一套监控系统。
第十二章 基于前面章节的工作增加日志和记录跟踪的内容。从微服务中获取的这些丰富、实时、可查询的数据可以让我们更好的了解这些服务的状态,更好地进行问题诊断,并在未来对其进行改进。
第十三章 会稍微调整一下方向,来研究微服务开发中“人”的因素。