Github标星67.9k的微服务架构以及架构设计模式笔记我粉了微服务架构是什么?
我们都知道微服务架构是⼀种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决⽅案的解耦。你可以将其看作是在架构层次⽽⾮获取服务的
类上应⽤很多SOLID原则。微服务架构是个很有趣的概念,它的主要作⽤是将功能分解到离散的各个服务当中,从⽽降低系统的耦合性,并提供更加灵活的服务⽀持。
概念:
把⼀个⼤型的单个应⽤程序和服务拆分为数个甚⾄数⼗个的⽀持微服务,它可扩展单个组件⽽不是整个的应⽤程序堆栈,从⽽满⾜服务等级协议。
定义:
围绕业务领域组件来创建应⽤,这些应⽤可独⽴地进⾏开发、管理和迭代。在分散的组件中使⽤云架构和平台式部署、管理和服务功能,使产品交付变得更加简单。
本质
⽤⼀些功能⽐较明确、业务⽐较精练的服务去解决更⼤、更实际的问题。
对于微服务架构思维上的转变有多重要?
微服务对我们的思考,更多的是思维上的转变。对于微服务架构:技术上不是问题,意识⽐⼯具重要。
关于微服务的⼏点设计出发点:
1、应⽤程序的核⼼是业务逻辑,按照业务或客户需求组织资源(这是最难的)
2、做有⽣命的产品,⽽不是项⽬
3、头狼战队,全栈化
4、后台服务贯彻Single Responsibility Principle(单⼀职责原则)
5、VM->Docker (to PE)
6、DevOps (to PE)
同时,对于开发同学,有这么多的中间件和强⼤的PE⽀持固然是好事,我们也需要深⼊去了解这些中间件背后的原理,知其然知其所以然,在有限的技术资源如何通过开源技术实施微服务?
最后,⼀般提到微服务都离不开DevOps和Docker,理解微服务架构是核⼼,devops和docker是⼯具,是⼿段。
下⾯就⼀起通过两份⽂档来深⼊了解微服务架构与它的设计模式,如果各位⼤佬对微服务架构有什么独特的见解欢迎在评论区留⾔指正。微服务架构
第1章 微服务概述
什么是微服务
常见的微服务组件
常⽤的微服务框架
微服务架构设计模式
如何实施微服务
从微服务的起源和现实业务的⾓度探讨微服务
第2章 微服务设计原则
设计原则之分层架构
设计原则之统⼀通信协议
设计原则之单⼀职责
设计原则之服务拆分
设计原则之前后端分离
设计原则之版本控制
设计原则之围绕业务构建
设计原则之并发流量控制
设计原则之CAP
设计原则之EDA事件驱动
设计原则之CQRS
常用微服务架构
设计原则之基础设施⾃动
设计原则之 数据⼀致性
设计原则之设计模式
设计原则之DevOps
设计原则之⽆状态服务
针对微服务的设计理念进⾏整理,包括服务如何拆分、前后端分离、CAP理论和CQRS等,是⼀个⾼层次的指导原则。
第3章 微服务之Spring Boot
⼀切从简单开始
快速集成第三⽅的Starter
降低开发复杂度之⾯向切⾯
并不复 杂的持久化.
Web开发
懒⼈的接⼝⽂档管理.
优化的调度
健康是永恒的主题
强强联合之整合Dubbo
详细地介绍SpringBoot的开发,包括使⽤它的优缺点,以及在企业级开发中常⽤的⼯具包的整合,包括⾯向切⾯编程、Web开发、⽂档管理和调度管理,最后结合Dubbo完成⼀个⽰例性的分布式⼯程。
第4章 微服务之Docker
Docker原理
更轻量级的虚拟化
三个概念理解Docker
Dockerfile定制⼀切
Docker⽹络
Docker 数据卷
Spring Boot与Docker
搭建⾃⼰的镜像仓库
Kubernetes
私有云整体架构
主要讲解Docker的基础操作,介绍微服务中所⽤到的容器相关的技术,最后给出通⽤的基于容器的私有云架构。
第5章 微服务之Spring Cloud
注册中⼼
负载均衡
微服务容错 (Hystrix)
分布式配置中⼼
API ⽹关
消息总线(Spring Cloud Bus)
对SpringCloud实现微服务的⼏个重要框架进⾏展开描述,让读者了解注册中⼼、负载均衡、容错、分布式配置、⽹关和消息总线,能够完成开发层⾯的微服务架构。
第6章 微服务之Spring Cloud其他框架
Spring Cloud Consul
Spring Cloud ZooKeeper
Spring Cloud archaius
Spring Cloud Task
Spring Cloud Security
Spring Cloud Sleuth
Spring Cloud Stream
Spring Cloud Data Flow
对Spring Cloud的⾮核⼼框架进⾏介绍,包括Consul、ZooKeeper、安全框架和数据流框架。
第7章 微服务之⾃动化测试与质量管理
微服务测试
单元测试
API测试
A/B测试
冒烟和回归测试
静态代码分析
SonarQube 质量监控
主要对测试和质量管理进⾏介绍,测试部分包括单元测试、A/B 测试、冒烟和回归测试,质量管理部分主要使⽤静态代码分析,并且基于SonarQube对代码进⾏静态检查,以及分析代码的总体质量。
第8章 微服务之JHipster
JHipster技术列表
Angular简介
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论