Apache ServiceComb容器化改造适配华为云CCE/OBS/CodeArts

举报
韦文满 发表于 2024/11/05 19:55:20 2024/11/05
【摘要】 一、项目简介 1、Apache ServiceComb介绍官网主页:https://servicecomb.apache.org/Apache ServiceComb Java Chassis 给开发者提供一个快速构建微服务的JAVA SDK。它包含如下特性:基于Open API的契约优先(API First)开发模式,满足开发过程可管理、开发规范可验证要求。多种开发风格,REST(JAX...

一、项目简介

1、Apache ServiceComb介绍

官网主页https://servicecomb.apache.org/
Apache ServiceComb Java Chassis 给开发者提供一个快速构建微服务的JAVA SDK。它包含如下特性:

  • 基于Open API的契约优先(API First)开发模式,满足开发过程可管理、开发规范可验证要求。
  • 多种开发风格,REST(JAX-RS、Spring MVC)和RPC等,高效支持遗留系统迁移和新系统开发场景。
  • 多种通信协议, HTTP over Vert.x、Http Over Servlet、Highway等,满足不同场景对于性能、韧性的需求。
  • 统一一致的服务提供者、服务消费者处理链,易于扩展新功能。
  • 提供服务发现、配置管理、熔断、限流、灰度发布等开箱即用的服务治理能力。
    源码地址https://github.com/apache/servicecomb-java-chassis

2、servicecomb-fence介绍

servicecomb-fence基于servicecomb-java-chassis提供认证鉴权支持。鉴权实现的主要框架参考了The OAuth 2.0 Authorization Framework 和 OpenID Connect。项目参考Spring Security给开发者提供了接口。请参考开发指南获取详细信息。
本文主要介绍如何改造采用华为云CodeArts、OBS、SWR、CCE、ELB、VPC等技术来实现容器改造
servicecomb-fence源码地址https://github.com/apache/servicecomb-fence
改造后servicecomb工程结构如下:

  • servicecomb-fence
    • admin-service 管理页面后端服务
    • admin-website 管理页面前端服务
    • authentication-server 微服鉴权服务
    • edge-service 微服网关服务
    • resource-server 资源服务
    • zookeeper-server zk服务注册和配置中心
    • mysql-server 数据库服务

二、容器化改造

第一步:改造zookeeper-server

  1. zookeeper作为微服核心服务,在启动服务中需要首先启动,从镜像库下载,然后打包上传至华为云SWR容器镜像服务中心
        docker pull zookeeper:3.9.2
        docker tag  zookeeper:3.9.2 swr.cn-north-4.myhuaweicloud.com/wmwei/zookeeper:3.9.2
        docker push swr.cn-north-4.myhuaweicloud.com/wmwei/zookeeper:3.9.2
    
  2. 编写编写zookeeper-deploy.yaml
  3. 编写zookeeper-server.yaml

第二步:改造mysql-server

  1. mysql作为auth模块鉴权信息存储数据库,需要先行部署,从镜像库下载,然后打包上传至华为云SWR容器镜像服务中心
        docker pull mysql:5.7
        docker tag  mysql:5.7 swr.cn-north-4.myhuaweicloud.com/wmwei/mysql:5.7
        docker push swr.cn-north-4.myhuaweicloud.com/wmwei/mysql:5.7
    
  2. 编写mysql-deploy.yaml
  3. 编写mysql-server.yaml

第三步:改造edge-service

  1. 编写Dockerfile
  2. 编写edge-deploy.yaml
  3. 编写edge-server.yaml

第四步:同理改造其他微服务,authentication-server,resource-server,admin-service,admin-website

  1. 编写Dockerfile
  2. 编写XXX-deploy.yaml
  3. 编写XXX-server.yaml

三、CodeArts平台创建和配置项目

如果没有开通,可以先开通,目前免费使用

第一步:创建项目

第二步:代码–代码托管–配置拉取githup代码

第三步:持续交付–编译构建

  1. 创建任务一:上传yaml文件至华为云OBS对象存储服务,参考配置如下图:
    yaml上传至OBS

  2. 任务二、上传镜像资源到SWR华为云容器镜像服务,参考配置如下图:
    image_to_swr

第四步:持续交付–部署

创建部署任务之前,要先执行第三步构建任务

  1. 创建部署mysql任务,参考配置如下图:
    deploy-mysql

  2. 其他服务部署配置参考mysql任务创建

所有服务启动之后,访问 http://edage-server-ELB-IP/ui/admin/ 网关登录地址

四、注意事项

需要购买的服务有

  1. CodeArts
  2. 云容器引擎CCE
  3. OBS对象存储
  4. SWR容器镜像
  5. ELB负载均衡

demo地址https://github.com/weiwenman/servicecomb-fence

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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