微服务及Spring Cloud概述

一.关于微服务和Spring Cloud的几个问题

  • 什么是微服务?
  • 微服务的优缺点分别是什么?有哪些要注意的坑?
  • 微服务之间是如何独立通讯的?
  • Spring Cloud和Dubbo有哪些区别?
  • Spring Boot和Spring Cloud间的关系?
  • 什么是服务熔断和服务降级?
  • 常用的微服务技术栈有哪些?
  • Eureka和Zookeeper都可以提供服务注册与发现的功能,二者有什么区别?

二.微服务
1.概念
(1) 就目前而言,对于微服务业界并没有一个统一的标准定义.但通常而言,微服务是一种架构模式或架构风格,它提倡将单一应用程序划分成一组小的服务,每个服务运行在其独立的自己的进程中,服务之间互相协调,互相配合,为用户提供最终价值.服务之间采用轻量级的通信机制(通常是基于HTTP的Restful API,如Spring Cloud)互相沟通(Dubbo是基于RPC的).每个服务都围绕着具体业务构建,并且能够独立的部署到生产环境,类生产环境等.另外,应尽量避免统一的集中式服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言,工具对其进行构建,可以有一个非常轻量级的集中式协调这些服务,可以使用不同的语言来编写这些 服务,也可以使用不同的数据库存储.
(2) 从技术维度去理解,微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底的去耦合,从技术角度看就是一种小而独立,分而治之的处理过程,类似进程的概念,能够自行单独启动或销毁,拥有自己独立的数据库.

2.微服务的优缺点
(1) 优点:

  • 每个服务足够内聚足够小,代码容易理解这样能聚焦一个指定的业务功能或需求
  • 开发简单,效率高,一个服务可能就是专一的只干一件事
  • 微服务是松耦合的,是有功能意义的服务,无论在开发阶段还是部署阶段都是独立的
  • 微服务能使用不同的语言开发
  • 易于和第三方集成,微服务允许以灵活的方式集成自动部署,通过持续集成工具,如Jenkins,Hudson,bamboo
  • 微服务只是业务逻辑的代码,不会和HTML,CSS或其他界面组件混合(前后端分离开发的模式)
  • 每个微服务都有自己的存储能力,可以有自己的数据库,也可以统一数据库

(2) 缺点:

  • 分布式系统固有的复杂性
  • 随着服务的增加,运维的压力也在增大
  • 系统部署依赖
  • 服务间通信成本
  • 数据一致性
  • 系统集成测试
  • 性能监控

三.Spring Cloud
天上飞的理念,必定有落地的实现,Spring Cloud就是为实现微服务架构提供的一整套解决方案.

1. Spring Cloud和Spring Boot是什么关系?

  • Spring Boot专注于快速方便的开发单个个体微服务.
  • Spring Cloud是关注全局的微服务协调整理治理框架,它将Spring Boot开发的一个个单体服务整合并管理起来,为各个微服务之间提供配置管理,服务发现,断路器,路由,微代理,事件总线,全局锁,决策竞选,分布式会话等等集成服务.
  • Spring Boot可以离开Spring Cloud单独使用,而Spring Cloud离不开Spring Boot,属于依赖关系.

2. Spring Cloud & Dubbo

  • 目前成熟的互联网架构,分布式+服务治理Dubbo.

这里写图片描述

3. Spring Cloud能干啥
这里写图片描述
这里写图片描述

四. 互联网架构的演变
阶段1:单机集中构建网站
这里写图片描述
阶段2:应用服务器配置集群
这里写图片描述
阶段2:Nginx+应用服务器配置集群
这里写图片描述
阶段2:Nginx+应用服务器配置集群+HA
这里写图片描述
阶段3:负载均衡服务器配置集群
这里写图片描述
阶段4:CDN+Varnish服务器配置集群
这里写图片描述
阶段5:数据库读写分离
这里写图片描述
阶段6:NoSql+分布式搜索引擎
这里写图片描述
阶段7:NoSql(HA)+分库分表+MyCat
这里写图片描述
阶段8:分布式文件系统
这里写图片描述
阶段9:应用服务化拆分+消息中间件
这里写图片描述
阶段10:微服务架构
这里写图片描述
这里写图片描述
这里写图片描述
Remark:搜索服务,安全管理(Shiro)等
微服务架构体系: 这里写图片描述
这里写图片描述

Spring Cloud个组件原理介绍:
https://juejin.im/post/5be13b83f265da6116393fc7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值