使用华为云CSE作为RPC框架的实践

本文介绍了如何将Spring Cloud应用改造成使用华为云CSE作为RPC框架,包括集成方式、改造步骤、配置启动类和REST接口定义,以及微服务信息、客户端访问和改造后服务的体验。CSE提供了更好的RPC支持、服务治理和监控功能,简化了开发工作,同时也列举了改造过程中可能遇到的问题及解决方案。
摘要由CSDN通过智能技术生成

使用CSE作为RPC框架

CSE(Cloud Service Engine:华为开源微服务框架ServiceComb的云服务版本,了解详情:https://www.huaweicloud.com/product/cse.html)作为一个独立的RPC框架实现,可以非常容易集成到Spring Cloud中。通过将Spring RESTful Web Service替换为CSE,可以给开发者带来如下便利:

  • 一致的开发体验。使用CSE的SpringMVC模式,可以获得和Spring RESTful Web Service一致的开发体验,包括一样的声明式Annotation,使用RestTemplate进行访问。

  • 更好的RPC支持。使用CSE,开发者不需要在客户端使用Feign等组件访问服务,可以直接使用RPC访问,非常灵活。

  • 更好的通信性能和协议扩展。

  • 完整的开箱即用的服务治理、监控、调用链等功能。达到一键式启用的目的。

本章节仍然基于快速接入的示例,展示改造的步骤,以及改造以后的效果。点击下载地址获取改造后的项目。

集成方式

CSE支持如下几种集成方式,当需要和Spring Cloud集成的时候,CSE可以作为一个Servlet替换org.springframework.web.servlet.DispatcherServlet。

改造步骤

通过依赖spring-boot-starter-transport,可以引入对于CSE的依赖。为了简单的接入CSE,还引入了cse-solution-service-engine。

<dependency>
  <groupId>org.apache.servicecomb</groupId>
  <artifactId>spring-boot-starter-transport</artifactId>
</dependency>
<dependency>
   <groupId>com.huawei.paas.cse</groupId>
   <artifactId>cse-solution-service-engine</artifactId>
</dependency>

配置启动类和定义REST接口

在启动类Application里面加入@EnableServiceComb加载CSE运行时,并通过@SpringBootApplication(exclude=DispatcherServletAutoConfiguration.class)关闭Spring RESTful Web Service。

然后开发者就可以定义自己的REST接口(对应于Spring Cloud的Controller)。可以看出和Spring Cloud Controller的差异:

  • 使用@RestSchema声明接口,并且指定Schema ID。CSE会对每个REST接口都生成一个接口定义文件,并上传到服务中心。Schema ID在微服务内部需要保持唯一。

  • 显示的使用@RequestMapping定义路径。CSE支持JaxRS和SpringMVC两种方式定义REST接口,运行时根据这个标签来区分采用哪种方式生成契约。

    </
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值