微服务简介
就是将一个大的应用,拆分成多个小的模块,每个模块都有自己的功能和职责,每个模块可以
进行交互,这就是微服务对于微服务,业界没有严格统一的定义,但是作为"微服务"这名词的发明人,Martin Fowler对微服务的定义似乎更具有权威性和指导意义,他的理解如下:
简而言之,微服务架构的风格,就是将单一程序开发成一个微服务,每个微服务运行在自己的进程中,并使用轻量级通信机制,通常是HTTP RESTFUL API。这些服务围绕业务能力来划分构建的,并通过完全自动化部署机制来独立部署这些服务可以使用不同的编程语言,以及不同数据存储技术,以保证最低限度的集中式管理。
微服务是一个理念,不是专指springcloud。
微服务架构的常见解决方案
ServiceComb-华为
SpringCloud
SpringCloud Alibaba
微服务部署自动化
微服务架构的程序有多个服务,使得手动部署很复杂。
微服务一般采用CICD持续集成进行自动化部署。
Springcloud简介
Spring cloud是Java语言的微服务框架,它依赖于Spring Boot,有快速开发、持续交付和容易部署等特点。Spring cloud的组件非常多,涉及微服务的方方面面,井在开源社区Spring和Netfilx、Pivotal两大公司的推动下越来越完善,如今alibaba也加入到其中。
Spring Cloud在开发部署上继承了Spring Boot的一些优点,提高其在开发和部署上的效
率。Spring cloud的首要目标就是通过提供一系列开发组件和框架,帮助开发者迅速搭建
一个分布式的微服务系统。
Spring Cloud是通过包装其他技术框架来实现的,例如包装开源的Netflix×oss组件,实现了一套通过基于注解、Java配置和基于模版开发的微服务框架。
Spring cloud提供了开发分布式微服务系统的一些常用组件,例如服务注册和发现、配置中心、熔断器、远程调用,智能路由、微代理、控制总线、全局锁、分布式会话等。
Springcloud常用组件
有多个是因为spring、netflix、alibaba不同公司的
服务的注册和发现。(eureka,nacos,consul)
服务的负载均衡。(ribbon,dubbo)
服务的相互调用。(openFeign)
服务的容错。(hystrix,sentinel)
服务网关。(gateway,zuul)
服务配置的统一管理。(config-server,nacos,apollo)
服务消息总线。(bus)
服务安全组件。(security,Oauth2.0)
服务监控。(admin)(jvm)
链路追踪。(sleuth、zipkin、skywalking)
springcloud alibaba
SpringCloudAlibaba | Spring Cloud Alibaba (aliyun.com)
Spring Cloud Alibaba是一个基于Spring Boot和Spring Cloud的分布式微服务框架,用于构建高性能、高可用性的微服务应用程序。它提供了丰富的中间件和扩展组件,如Nacos、Sentinel、Dubbo、RocketMQ等,以及一些最佳实践和规范,帮助开发者快速搭建和扩展微服务架构。
Spring Cloud Alibaba的主要特点包括:
- 快速集成:Spring Cloud Alibaba可以快速集成到现有的Spring Boot项目中,只需添加相关依赖和配置即可。
- 丰富的中间件:Spring Cloud Alibaba提供了丰富的中间件和扩展组件,包括服务注册与发现(Nacos)、熔断器(Sentinel)、分布式事务(Seata)、分布式消息(RocketMQ)等。
- 微服务支持:Spring Cloud Alibaba支持多种微服务架构,包括Dubbo、Spring Cloud、gRPC等,可以灵活地根据项目需求选择合适的微服务框架。
- 高性能:Spring Cloud Alibaba基于Netty、Hessian等高性能框架,具备高并发、低延迟的特点。
- 最佳实践和规范:Spring Cloud Alibaba提供了大量的最佳实践和规范,帮助开发者更好地设计和开发微服务应用程序。
总之,Spring Cloud Alibaba是一个非常优秀的分布式微服务框架,适用于Java开发者构建高性能、高可用性的微服务应用程序。
总结
SpringCloud是微服务理念的一种具体落地实现方式,帮助微服务架构提供了必备的功能
目前开发中常用的落地实现有三种:
Dubbo+Zookeeper半自动化的微服务实现架构(别的管理没有)
SpringCloud Netflix一站式微服务架构
SpringCloud Alibaba新的一站式微服务架构
三大公司
Spring Netflix Alibaba
参考:动力节点SpringCloud实战视频教程|自学必备的springcloud+springcloudAlibaba教程_哔哩哔哩_bilibili