微服务入门详解

目标:

了解微服务、微服务架构以及架构演进过程


学习步骤:

1、讲微服务前先要明白什么是单体架构
2、 什么是微服务?
3、微服务架构又是什么?
4、微服务的优缺点分析
5、微服务技术栈有哪些?
6、为什么要选择SpringCloud作为微服务架构?

一、先聊单体架构

单体架构,就是一个工程对应一个归档包,也就是war包,并且这个war包 包含了该工程的所有功能。
这种就是单体应用,也就是单体架构。
再谈得具体一点就是 比如:我们之前的SMBMS系统,它可以打成一个war包放在tomcat中跑,它一个war包中聚集了所有资源(JSP,CSS,JS)和功能(订单模块,供应商模块,用户模块等等)。

1.1 单体架构优缺点对比

优点:

1、架构目录简单清楚。
2、开发测试部署也简单

缺点:

1、业务越多,代码越复杂。
2、系统业务越来越多,一次性部署的速度就会变慢
3、系统扩展成本高,我们无法对单个功能模块进行扩展

二、什么是微服务?

微 => 小 => 功能单一的服务

微服务强调的是 服务的大小 和 对外提供的单一功能,一个模块就做一件事情!

三、什么是微服务架构

微服务架构的 核心就是 将单一的应用程序划分成一组小的服务 , 也就是模块化

(根据业务模块 划分成一个个具体的服务,每一个服务提供特定的功能,一个服务只做一件事)。
而每个服务运行在自己的进程内,服务之间相互协调,互相配置。
每个服务围绕着具体的业务进行构建,并独立部署到生产环境中。

四、微服务的优缺点分析

4-1、微服务优点:

  • 单一职责原则,一个服务完成一项业务功能
  • 开发简单,效率提高,松耦合,无论在哪个阶段,每个服务都是独立的,不会相互影响
  • 每个服务可以使用不同的语言进行开发
  • 易于第三方系统集成
  • 微服务易于修改和维护
  • 微服务中只是业务逻辑代码,没有前端的页面样式等等
  • 每个服务都有自己的存储能力,有自己的数据库,也可以有统一的数据库

4-2、微服务缺点:

  • 开发人员要处理分布式系统的复杂性
  • 多服务运维难度,随着服务的增加,运维的压力也变大
  • 系统部署依赖
  • 服务间的通信成本变高
  • 数据一致性
  • 系统集成测试变复杂
  • 性能监控难度增大

五、微服务技术栈有哪些?

微服务条目使用技术
服务开发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

六、为什么要选择SpringCloud作为微服务架构

6-1、选型依据

  • 整体解决方案和框架成熟度
  • 社区热度
  • 可维护性

当前主流的微服务架构有哪些?

:SpringCloud、ServiceComb、ZeroC ICE、Motan、Thrift
  • 阿里巴巴:dubbo+HFS
  • 新浪:Montan
  • 京东:JSF
  • Spring Cloud是一系列框架的有序集合。
    Spring Cloud 利用 Spring Boot 特性整合了开源行业中优秀的组件,整体对外提供了一套在微服务架构中服务治理的解决方案。

  • Apache ServiceComb 是第一个Apache微服务项目, 是一个开源微服务解决方案,实现对微服务应用的高效运维管理。提供一站式开源微服务解决方案并支持多语言。

  • ZeroC IceGrid 是面向对象的分布式系统中间件。基于RPC框架具有良好的性能与分布式能力。

  • Motan 是开源的 RPC 框架,只支持 Java 语言实现,需要在 Client 端(服务消费者)和 Server 端(服务提供者)引入 SDK。

  • Thrift 是一种轻量级的跨语言 RPC 通信方案,支持多达 25 种编程语言。Thrift有一套自己的接口定义语言 IDL。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值