当前位置:网站首页 > 全部文章 > 正文

踩踏终点站令人怦然心动的springCloud-吊炸天的技术宅

发布时间: 2019-04-28 浏览: 409
令人怦然心动的springCloud-吊炸天的技术宅

各位大佬们!晚上好!
前面一篇文章谈到微服务基础框架springBoot,对于这个框架不用多说,而对于Spring Cloud正是对Netflix的多个开源组件进一步的封装而成,同时又实现了和云端平台,和Spring Boot开发框架很好的集成。Spring Cloud是一个相对比较新的微服务框架,去年才推出1.0的release版本. 虽然Spring Cloud时间最短, 但是相比Dubbo等RPC框架太平公棚, Spring Cloud提供的全套的分布式系统解决方案。Spring Cloud 为开发者提供了在分布式系统(配置管理,服务发现,熔断,路由,微代理,控制总线,一次性token,全居琐踩踏终点站 ,leader选举郭伊娜 ,分布式session,集群状态)中快速构建的工具,使用Spring Cloud的开发者可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对接。
微服务架构需要的功能或使用场景
1:我们把整个系统根据业务拆分成几个子系统。
2:每个子系统可以部署多个应用,多个应用之间使用负载均衡。
3:需要一个服务注册中心,所有的服务都在注册中心注册,负载均衡也是通过在注册中心注册的服务来使用一定策略来实现。
4:所有的客户端都通过同一个网关地址访问后台的服务,通过路由配置,网关来判断一个URL请求由哪个服务处理。请求转发到服务上的时候也使用负载均衡。
5:服务之间有时候也需要相互访问。例如有一个用户模块,其他服务在处理一些业务的时候,要获取用户服务的用户数据。
6:需要一个断路器,及时处理服务调用时的超时和错误,防止由于其中一个服务的问题而导致整体系统的瘫痪。
7:还需要一个监控功能,监控每个服务调用花费的时间等。
Spring Cloud的特性:
Spring Cloud来源于Spring,质量、稳定性、持续性都可以得到保证
Spirng Cloud天然支持Spring Boot,更加便于业务落地。
Spring Cloud发展非常的快,从16年开始接触的时候相关组件版本为1.x,到现在将要发布2.x系列
Spring Cloud是Java领域最适合做微服务的框架。
相比于其它框架捭阖录,Spring Cloud对微服务周边环境的支持力度最大。
对于中小企业来讲,使用门槛较低。
Eureka简介功能图(类似zookeeper)

接下来如何搭建springCloud框架搭建作一个简单介绍(2个服务都是springboot项目,且都是用内嵌的方式启动。)
1 项目结构 2个服务 springcloud(服务发现和注册中心)和service1(服务)

说明:springcloud这个项目下有分模块 (这里大家只看到带有箭头标注的类和配置文件)
2 服务注册中心(SpringCloud)
pom.xml


discover.properties

Application 启动类

3 service1服务
service1的pom.xml文件同springcloud的pom.xml
Service1启动类

application启动类

4 启动后的效果
启动顺序: 先SpringCloud 后service1

启动后我们输入http://localhost:1112/ 发现系统 eureka管理服务中心中有个当前的service1服务被注册
其实spring cloud的子项目是很多的,:
Spring Cloud Config:配置管理开发工具包,可以让你把配置放到远程服务器,目前支持本地存储、Git以及Subversion。Spring Cloud Bus:事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。Spring Cloud Netflix:针对多种Netflix组件提供的开发工具包,其中包括Eureka、Hystrix、Zuul、Archaius等。Netflix Eureka:云端负载均衡,一个基于 REST 的服务,用于定位服务,以实现云端的负载均衡和中间层服务器的故障转移。Netflix Hystrix:容错管理工具,旨在通过控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。Netflix Zuul:边缘服务工具,是提供动态路由,监控,弹性,安全等的边缘服务。Netflix Archaius:配置管理API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。姜一郎Spring Cloud for Cloud Foundry:通过Oauth2协议绑定服务到CloudFoundry,CloudFoundry是VMware推出的开源PaaS云平台。Spring Cloud Sleuth:日志收集工具包温州云阅卷,封装了Dapper德江一中 ,Zipkin和HTrace操作。Spring Cloud Data Flow:大数据操作工具,通过命令行方式操作数据流。Spring Cloud Security:安全工具包,为你的应用程序添加安全控制,主要是指OAuth2。Spring Cloud Consul:封装了Consul操作,consul是一个服务发现与配置工具马加爵遗书,与Docker容器可以无缝集成。Spring Cloud Zookeeper:操作Zookeeper的工具包宋无娇,用于使用zookeeper方式的服务注册和发现。Spring Cloud Stream:数据流操作开发包,封装了与Redis,Rabbit、Kafka等发送接收消息。Spring Cloud CLI:基于 Spring Boot CLI,可以让你以命令行方式快速建立云组件。
作为微服务调度框架其实很多,但是目前企业用得多的是spring cloud 和dubbo框架。其实springcloud的功能非常强大,基于目前微服务框架比较流行,一个小的功能就有可能是一个服务,其实这种演变是必然。也是将来一种趋势,从互联网架构演变史来看,其实从最初的传统单体的服务到垂直服务再到如今如日中天的微服务带刀后卫 ,结构越来越复杂但是功能越大越强大。单单说技术演变,从jsp,sturt1,strut2,spring,springmvc,springboot ,不难发现内容越来丰富,配置越来越简单,自己写的代码越来越小。框架底层封装了很多。与其说框架是招式畑野浩子 ,基础才是内功。唯有内功深厚才是我们迫切需要的。
站在今天的互联网回顾过去和展望未来,我们发现所有的技术诞生背景都是去解决现有架构存在的一些缺陷和不足。所以,如何把需求去用我们掌握的技术来实现也是我们大家需要一直学习并且谨记的安快物流。因为技术永远是永无止境,唯有解决需求问题才是实实在在的。
如果大家对技术感兴趣的话,可以加入java学习qq群 685206116 相互交流学习,在这里,我们相互探讨粉葛猪骨汤 ,一起进步!懂得分享也是一种美!
感谢大家,如果大家对这篇分享感兴趣,可以关注着个订阅号,后面将陆续分享自己的一些技术和学习心得,谢谢大家!
TAGS: