SpringCloud学习之微服务概念、技术选型

1、微服务与微服务架构

  • 微服务:强调的是一个个的个体,每个个体完成一个具体的任务或者功能
  • 微服务架构:是一种架构模式,是多个微服务的集合,而真正的开始是采用分布式系统开发。需要实现三大指标:高可用、高性能、高并发
  • 官方说法:微服务架构是一种架构模式或者说是一种架构风格,它提倡单一应用程序划分成一组小的服务,每个服务运行在其独立的自己的进程中,服务之间互相协调,互相配合,为用户提供最终价值。
  • 微服务划的核心就是将传统的一站式应用,根据业务分成一个一个的服务,彻底的去耦合,每一个微服务提供单个业务的服务,一个服务做一件事,(单一职责原则,降低耦合度)从技术角度看就是一种小而独立的处理过程,类似进程概念,能够自行单独启动或销毁,拥有自己独立的数据库

总体来说:

  • 1.拆分
  • 2.各自独立的进程
  • 3.拥有自己独立的数据库

2、微服务的优缺点

微服务的优缺点:

优点:

  • 1.每个服务足够内聚,足够小,代码容易理解这样能聚集一个指定的业务功能或业务需求。
  • 2.开发简单,开发效率提高,一个服务可能就是专一的只干一件事。
  • 3.微服务能够被小团队独立开发,2-5开发人员组成
  • 4.微服务是松耦合的,是有功能意义上的服务,无论是在开发阶段或部署阶段都是独立的。
  • 5.微服务能使用不同的语言开发
  • 6.易于和第三方集成,微服务允许容易且灵活的方式集成自动部署,通过持续集成工具
  • 7.微服务易于被一个开发人员理解,修改和维护,这样小团队能够更加关注自己的工作成果,无需通过合作才能体现价值。
  • 8.微服务允许你利用融合最新技术
  • 9.微服务知识业务逻辑的代码,不会和HTML,CSS和其他页面组件混合
  • 10.每个微服务都有自己的存储能力,可以有自己独立的数据库,也可以有统一数据库。

缺点:

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

3、微服务技术栈

微服务技术栈:多种技术的集合体。多个维度。

4、各个微服务之间的技术选型

Springcloud=分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶。

5、Springboot和springcloud的区别???

  • 1、Springboot专注于快速方便开发单个个体微服务
  • 2、Springcloud是关注全局的微服务协调整理治理框架,它将springboot开发的一个个单体微服务整合并管理起来。

    为各个微服务之间提供,配置管理,服务发现,短路有,路由,微代理,事件总线,全局锁,决策竞选分布式会话等等集成服务。

  • 3、springBoot可以离开springcloud独立使用开发项目,但是springcloud离不开springboot,是依赖的关系。
  • 4、Springboot专注于快速、方便的开发单个微服务个体、springcloud关注全局的服务治理框架。

6、Springcloud与Dubo的区别???

最大区别:springcloud抛弃了Dubbo的RPC远程过程通信,采用的是基于HTTP的REST方式

严格来说,这两种方式各有优劣,虽然从一定成都上来说,后者牺牲了服务调用的性能,但也避免了上面提到的原生RPC带来的问题,而且REST相比RPc更为灵活,服务提供方和调用方的依赖只依靠一纸锲约,不存在代码级别的强依赖,这在强调快速演化的微服务唤醒下,显得更加合适。

7、总结springcloud和Dubbo?

8、微服务的四个核心问题

  • 1、服务很多,客户端怎么访问
  • 2、这么多服务,服务之间怎么通信
  • 3、这么多服务,如何治理
  • 4、服务挂了怎么办

9、微服务三个解决方案

  • 1.1、解决方案

    Spring Cloud 生态: Spring boot

    1、Spring Cloud NetFlix 一站式解决方案:(停止更新了2018.12月)

  • api网关 zuul组件 (解决服务路由问题)
  • Feign -------HttpClient------Http通信方式 同步 阻塞
  • 服务注册与发现 Eureka(解决高可用问题)
  • 熔断机制 Hystrix

    ........

2、Apache Dubbo Zookeeper 半自动 需要整合别人的

  • Api 没有,找第三方组件 或者自己实现
  • Dubbo: 专门做服务之间RPC通信
  • zookeeper做服务注册与发现
  • 没有 需要整合第三方插件

3、Spring Cloud Alibaba 一站式解决方案,更简单 (新的类似于Spring Cloud NetFlix)

10、Springcloud参考书与文档网站

  • Spring Cloud Netflix官方文档:springcloud.cc/spring-clou…
  • SpringCloud 中文API官方文档:springcloud.cc/spring-clou…
  • SpringCloud 中文社区:springcloud.cn/
  • SpringCloud中文网:springcloud.cc


这篇博客我们了解到了SpringCloud的一些基本概念,接下来的博客将会带你走进微服务时代,关注作者期待下一篇吧!!!


以上是 SpringCloud学习之微服务概念、技术选型 的全部内容, 来源链接: utcz.com/a/25003.html

回到顶部