Apache ServiceComb容器化改造适配华为云CCE/OBS/CodeArts
【摘要】 一、项目简介 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
- 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
- 编写编写zookeeper-deploy.yaml
- 编写zookeeper-server.yaml
第二步:改造mysql-server
- 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
- 编写mysql-deploy.yaml
- 编写mysql-server.yaml
第三步:改造edge-service
- 编写Dockerfile
- 编写edge-deploy.yaml
- 编写edge-server.yaml
第四步:同理改造其他微服务,authentication-server,resource-server,admin-service,admin-website
- 编写Dockerfile
- 编写XXX-deploy.yaml
- 编写XXX-server.yaml
三、CodeArts平台创建和配置项目
如果没有开通,可以先开通,目前免费使用
第一步:创建项目
第二步:代码–代码托管–配置拉取githup代码
第三步:持续交付–编译构建
-
创建任务一:上传yaml文件至华为云OBS对象存储服务,参考配置如下图:
-
任务二、上传镜像资源到SWR华为云容器镜像服务,参考配置如下图:
第四步:持续交付–部署
创建部署任务之前,要先执行第三步构建任务
-
创建部署mysql任务,参考配置如下图:
-
其他服务部署配置参考mysql任务创建
所有服务启动之后,访问 http://edage-server-ELB-IP/ui/admin/ 网关登录地址
四、注意事项
需要购买的服务有
- CodeArts
- 云容器引擎CCE
- OBS对象存储
- SWR容器镜像
- ELB负载均衡
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)