华为servicecomb快速上手(一)

Servicecomb介绍

ServiceComb 作为 Apache 开源组织下的一款微服务框架,其前身为华为云的 微服务引擎 CSE (Cloud Service Engine) 云服务。它意味着国内一款微服务框架在华为和 Apache 组织的共同努力下,随着微服务市场的火爆,一定会让越来越多的开发者所喜欢。(转)

官方网站介绍

华为将 ServiceComb 交给Apache 基金组织维护
下面是官网地址:
英文:http://servicecomb.incubator.apache.org/
中文:http://servicecomb.incubator.apache.org/cn/

ServiceComb 的开放性设计思想(转)

  1. 编程模型和通信模型分离,不同的编程模型可以灵活组合不同的通信模型。应用开发者在开发阶段只关注接口开发,部署阶段灵活切换通信方式;支持 legacy 系统的切换,legacy 系统只需要修改服务发布的配置文件(或者 annotation),而不需要修改代码。现阶段支持 SpringMVC、JAX-RS 和透明 RPC 三种开发方式。
  2. 内建 API-first 支持。通过契约规范化微服务开发,实现跨语言的通信,并支持配套的软件工具链(契约生成代码、代码生成契约等)开发,构建完整的开发生态。
  3. 定义了常用的微服务运行模型,将微服务从发现到交互过程中的各种容错手段都封装起来。该运行模型支持自定义和扩展。华为servicecomb快速上手(一)_第1张图片
  4. ServiceComb 微服务解决方案华为servicecomb快速上手(一)_第2张图片
    转自官方介绍

入门demo

  1. 官网下载service-center,并启动。华为servicecomb快速上手(一)_第3张图片
  2. 项目脚手架快速搭建
    http://start.servicecomb.io/
  3. provider项目
    microservice.yaml和service
APPLICATION_ID: start.servicecomb.io
service_description:
  name: HelloServiceComb
  version: 0.0.1
  properties:
    allowCrossApp: true
servicecomb:
  handler:
    chain:
      Provider: {}
  highway:
    address: 0.0.0.0:9090
  service:
    registry:
      address: http://127.0.0.1:30100
    autodiscovery: false
@RpcSchema(schemaId = "sayHello")
public class RpcProvider implements RpcService {

    @Override
    public String helloServicecomb() {
        return "helloServicecomb";
    }
}
  1. consumer项目
APPLICATION_ID: start.servicecomb.io
service_description:
  name: consumer
  version: 0.0.1
  properties:
      allowCrossApp: true
servicecomb:
  handler:
      chain:
        Provider: {}
  highway:
    address: 0.0.0.0:9091
  service:
    registry:
      address: http://127.0.0.1:30100
      autodiscovery: false
@Service
public class RpcServiceImpl{
//    从注册中心获取
//    从APPLICATION_ID获取id;从service_description.name获取name
//    schemaId来自于服务提供者
    @RpcReference(microserviceName = "start.servicecomb.io:HelloServiceComb", schemaId = "sayHello")
    private RpcService rpcService;

    public void helloServicecomb() {
        System.out.println(rpcService.helloServicecomb());
    }
}
  1. 测试调用在这里插入图片描述

以上是Servicecomb基于rpc调用的快速入门,demo代码地址

你可能感兴趣的:(java)