分布式架构可以降低程序错误给整体系统带来的风险,也可以通过不断扩张主机的数量以实现横向水平的性能扩展,因此我们需要分布式架构。
微服务这个词近几年很火,微服务架构(Microservices Architecture,MSA)是分布式架构的一种,它的产生主要依赖以下方面的内容:
领域驱动设计:分析并模型化复杂业务。敏捷方法论:快速发布,形成有效反馈。持续交付:更快、可靠、频繁地部署和交付。虚拟化和基础设施自动化:Docker等容器技术简化安装部署环境。DevOps:开发、测试、运维整合。MSA把小的服务开发成单一应用的形式,每个服务运行在单独的进程中并采用轻量级的机制通信(HTTP等)。这些服务围绕业务构建,自动化部署,可以使用不同的编程语言和存储技术,并保持最小化集中管理。
ZooKeeper、Dubbo、Jersey、SpringBoot、SpringColud等都可以实现微服务。我决定围绕SpringBoot、SpringCloud展开微服务架构学习。
SpringBoot简化企业级应用开发地复杂性,提供很多开箱即用的Starter,通过少量代码创建一个独立的、产品级Spring应用。
我学习的步骤如下:
SpringBoot引入Web创建RESTful API和单元测试使用Swagger2构建API文档统一处理异常SpringData JPASpringSecurity和JWT事务管理集中式缓存Redis日志系统 本地日志和MongoDB消息服务RabbitMQ邮件系统http://blog.didispace.com/spring-boot-learning-1x/
《SpringCloud微服务架构 杨伟卫著》第1章 微服务概述
(完)
