springcloud 的简介

版权声明:如果觉得好的话,不防点个赞,那点你们认为不对或是需要补充,可以留言啊!本人原创,未经允许不得转载!! https://blog.csdn.net/qq_28289405/article/details/86487359

springcloud

微服务和springcloud的简介

1、微服务架构

它提倡将单一应用程序划分为一组小的服务 、每个服务运行在自己独立的进程中、 轻量级的通信机制(RESTful API) 、 独立部署到生产环境或类生产环境等。

微服务的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看就是一种小而独立的处理过程,类似进程概念,能够自行单独启动或销毁,拥有自己独立的数据库

微服务的九大特征

特征一 : "组件化"和"多服务"

一个组件就是一个可以独立更换和升级的软件单元。

如果该应用系统被分解为多个服务,那么对于一个服务的多处修改,仅需要重新部署这一个服务。 -- 服务可以被独立部署。

特征二 :围绕"业务功能"组织团队

微服务使用不同的方法来分解系统,即根据业务功能(business capability)来将系统分解为若干服务。

特性三:“做产品”而不是“做项目”

特性四:“智能端点”与“傻瓜管道”

特性五:“去中心化”地治理技术

特性六:“去中心化”地管理数据

特性七:“基础设施”自动化

特性八:“容错”设计

特性九:“演进式”设计*

微服务的优缺点

----> 优点:

①、每个服务足够内聚,足够小,代码容易理解这样能聚焦一个指定的业务功能或业务需求;

②、开发简单、开发效率提高,一个服务可能就是专一的只干一件事;

③、微服务能够被小的团队独立开发、这个小团队是2到5人的开发人员组成;

④、微服务是松耦合的,是有功能意义的服务,无论是开发阶段或部署阶段都是独立的;

⑤、微服务是使用不同的语言开发;

⑥、易于和第三方集成,微服务允许容易且灵活的方式集成自动部署,通过持续集成工具,如Hudson 、bamboo;

⑦、微服务易于被一个开发人员理解,修改和维护,这样小的团队能够更关注自己的工作成果。无需通过合作才能体现价值;

⑧、微服务你允许利用融合最新的技术;

⑨、微服务只是业务逻辑的代码,不会和HTML、CSS或其他界面组件混合。

⑩、每个微服务都有自己的存储能力,可以有自己的数据库,也可以有统一数据库

----> 缺点:

开发人员要处理分布式系统的复杂性;

多服务运维难度,随着服务的增加,运维的压力也在增大

系统部署依赖

服务间通信成本

数据一致性

系统集成测试

性能监控 .......

2、springcloud

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

3、springcloud定义(官网) http://projects.spring.io/spring-cloud/

SpringCloud,基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。

SpringCloud利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等,它们都可以用SpringBoot的开发风格做到一键启动和部署。

SpringBoot并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过SpringBoot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包

4、springboot和springcloud 的区别

springboot 专注于快速,方便的开发单个微服务个体 (偏微观);可以单独使用(不依赖于springcloud)

springcloud 关注全局的服务治理框架(偏宏观);必然依赖于springboot,它将springboot开发的一个个单体微服务整合并管理起来,为各个微服务之间提供,配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等集成服务;

5、配置文件 bootstrap.yml

spring:
  application:
    name: foo
  cloud:
    config:
      uri: ${SPRING_CONFIG_URI:http://localhost:8888}

6、dubbo和springcloud的区别

①、dubbo是基于RPC远程过程调用;springcloud是基于HTTP的RESTful API调用。

②、dubbo的社区不活跃;springcloud的社区相当的活跃

7、springcloud的书籍推荐

开发API声明:https://springcloud.cc/spring-cloud-dalston.html

https://springcloud.cc/spring-cloud-netflix.html

中文网:https://springcloud.cc/

猜你喜欢

转载自blog.csdn.net/qq_28289405/article/details/86487359