发布时间:2024-08-13 12:01
了解微服务、微服务架构以及架构演进过程
单体架构,就是一个工程对应一个归档包,也就是war
包,并且这个war
包 包含了该工程的所有功能。
这种就是单体应用,也就是单体架构。
再谈得具体一点就是 比如:我们之前的SMBMS系统,它可以打成一个war包放在tomcat中跑,它一个war包中聚集了所有资源(JSP,CSS,JS)和功能(订单模块,供应商模块,用户模块等等)。
优点:
1、架构目录简单清楚。
2、开发测试部署也简单
缺点:
1、业务越多,代码越复杂。
2、系统业务越来越多,一次性部署的速度就会变慢
3、系统扩展成本高,我们无法对单个功能模块进行扩展
微服务强调的是 服务的大小 和 对外提供的单一功能,一个模块就做一件事情!
(根据业务模块 划分成一个个具体的服务,每一个服务提供特定的功能,一个服务只做一件事)。
而每个服务运行在自己的进程内,服务之间相互协调,互相配置。
每个服务围绕着具体的业务进行构建,并独立部署到生产环境中。
微服务条目 | 使用技术 |
---|---|
服务开发 | SpringBoot,Spring,SpringMVC |
服务配置与管理 | Netflix公司的Archaius、阿里的Diamond等等 |
服务注册与发现 | Eureka、Consul、Zookeeper等等 |
服务调用 | Rest、PRC、gRPC |
服务熔断器 | Hystrix、Envoy等等 |
负载均衡 | Ribbon、Niginx等等 |
服务接口调用 | Feign等等 |
消息队列 | Kafka、RabbitMQ、ActiveMQ等等 |
服务配置中心管理 | SpringCloudConfig、Chef等等 |
全链路追踪 | Zipkin、Brave、Dapper等等 |
服务部署 | Docker、OpenStack、Kubernetes等等 |
数据流操作开发包 | SpringCloud Stream |
事件消息总线 | SpringCloud Bus |
6-1、选型依据
当前主流的微服务架构有哪些?
:SpringCloud、ServiceComb、ZeroC ICE、Motan、Thrift
Spring Cloud是一系列框架的有序集合。
Spring Cloud 利用 Spring Boot 特性整合了开源行业中优秀的组件,整体对外提供了一套在微服务架构中服务治理的解决方案。
Apache ServiceComb 是第一个Apache微服务项目, 是一个开源微服务解决方案,实现对微服务应用的高效运维管理。提供一站式开源微服务解决方案并支持多语言。
ZeroC IceGrid 是面向对象的分布式系统中间件。基于RPC框架具有良好的性能与分布式能力。
Motan 是开源的 RPC 框架,只支持 Java 语言实现,需要在 Client 端(服务消费者)和 Server 端(服务提供者)引入 SDK。
Thrift 是一种轻量级的跨语言 RPC 通信方案,支持多达 25 种编程语言。Thrift有一套自己的接口定义语言 IDL。
Geoffrey Hinton:我的五十年深度学习生涯与研究心法
MindSpore报错"ValueError:invalid literal for int()with base10'the'
关于 Angular 应用 Module 的 forRoot 方法的讨论
Vue项目中使用ellint和prettier-规范和约束我们的代码
IDEA创建maven项目遇到Dependency ‘junit:junit:4.12‘ not found
干货!Labeling Trick: 一个图神经网络多节点表示学习理论