在Spring Cloud中集成和使用CSE快速实现商业产品

举报
liubao68 发表于 2018/05/24 15:32:26 2018/05/24
【摘要】 CSE给Spring Cloud微服务提供了完美的RPC/REST扩展,并给出了Spring Cloud集成扩展的路线图。这些扩展全部是开箱即用的,让业务集中于业务逻辑开发和实现,同时能够方便利用Spring Cloud的开发组件。

微服务+DevOps可以极大的解放公司的生产力,大型公司通过构建成套的工具链,逐步开始品尝到微服务带来的甜头。而对于小型公司,实施微服务并不容易,选择合适的PaaS平台和微服务开发框架,是大家的首选。

 

Spring Cloud是许多开发者尝试微服务的首选,使用Spring Cloud,需要有步骤的构建如下能力:

 

1.       服务注册、发现,负载均衡控制;

2.       统一配置管理,动态配置;

3.       微服务可靠性和容错:对于异常情况具备隔离、熔断和容错机制;

4.       微服务调用链跟踪和可视化,微服务监控;

5.       微服务网关,发布服务和认证;


 

为了支撑这些能力,Spring Cloud提供了很多可以选择的方案。


能力

可选方案

服务注册、发现

中间件EurekaConsul;接口DiscoveryClient

负载均衡控制

Ribbon

统一配置管理

Spring Cloud Config

动态配置

Archaius

可靠性和容错

Hystrix

微服务调用链

Spring Cloud Sleuth

微服务监控

Spring Cloud 自带,没有集中监控能力,或者集成prometheus

RPC支持

Feign

 

实际的项目会比这里列举的内容还会复杂很多,包括解决性能、弹性伸缩、部署和运维的问题。


 

CSE针对Spring Cloud微服务提供的扩展

CSE(Cloud Service Engine)是华为推出的针对微服务的开发、管理和运维平台,它提供的JAVA SDK基于ServiceComb java chassisCSEJAVA SDK的功能完美的集成到Spring Cloud,让Spring Cloud开发者能够快速构建上述能力,真正的专注于业务逻辑的开发。


 

Spring Cloud应用构造上述能力可以分为如下几个步骤:


 

使用CSE商业级服务发现和动态配置机制


通过修改pom依赖关系,即可将Eureka或者Consul换位CSE的服务中心和配置中心。免去部署和运维中间件的烦恼。


使用CSE REST框架集成可靠性和容错机制、集成调用链和监控机制


通过优化接口定义,可以快速将Spring Cloud REST接口定义修改为CSEREST接口定义。CSEREST接口定义是Spring Cloud REST接口定义的子集,更加简洁。CSEREST接口切换为Spring Cloud可以不做任何修改,有很好的可移植性,即使后续发布为gRPCRPC框架的接口定义,也是无缝的。


使用轻量级容器和Edge Service,实现弹性和高性能


管理服务路由是网关的主要业务逻辑,使用Edge Service管理服务路由,可以实现灰度版本管理、客户端调用控制,以及灵活的扩展机制。

 

Talk is Cheap, Show me the Code


Spring Cloud应用从无到有,到商业可用,会花费好几个月时间。现在具备这些能力,一个普通微服务开发者仅仅需要一周时间即可完成。开发者可以通过

 

  https://huaweicse.github.io/cse-java-chassis-doc/spring-cloud-using-cse/spring-cloud-using-cse.html

 

来体验Spring Cloud应用具备商业可用特性的几个步骤。里面包括了详细的步骤说明、原理介绍和可以执行的代码。

 


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。