东莞市建设质量监督网站,模板网站建设推广,杭州网络营销网站,成都seo顾问前言
在上一篇文章 一年前#xff0c;我来到国企搞IT 中#xff0c;和小伙伴分享了我在国企这一年当中的所见#xff0c;所闻#xff0c;所想#xff0c;很高兴能够获得很多同道中人的共鸣。过去一年#xff0c;我的很大一部分工作都投入到公司技术平台的建设中。Jira,C…前言
在上一篇文章 一年前我来到国企搞IT 中和小伙伴分享了我在国企这一年当中的所见所闻所想很高兴能够获得很多同道中人的共鸣。过去一年我的很大一部分工作都投入到公司技术平台的建设中。Jira,Confluence,Jenkins,Docker,Kubernetes微服务等等DevOps工具链技术栈都是从无到有一步一步搭建起来的这其中虽然有第三方供应商的支撑但过程还是非常艰难的。在数字化转型的大浪潮下各式各样的IT系统也随之立项落地从以前的单体到要求越来越多的微服务架构以及带来后续日渐繁杂的监控运维工作无不对IT的技术能力有了更高的要求也让本就缺乏IT技术大拿的国企信息面临诸多的挑战。实话说这一年的工作也让我成长了很多
正因为有如上诸多的问题寻找一个稳定的企业级的微服务开发运维平台是眼前比较清晰的方向。由于公司与华为长期的战略合作关系华为的微服务开发与运维管理平台ServiceStage走入我们的视野。搜索了一下全网确实没有发现涉及ServiceStage方面的文章。所以在接下来的几篇文章中我将以真实的POC验证角度通过改造迁移公司已有的一个微服务项目一步一为大家分享如何接入ServiceStage、CSE等华为已有的企业级Paas平台也欢迎朋友帮忙评估建议ServiceStage的能力。
ServiceStage
ServiceStage是一个应用托管和微服务管理平台可以帮助企业简化部署、监控、运维和治理等应用生命周期管理工作。面向企业提供微服务、移动和Web类应用开发的全栈解决方案帮助您的各类应用轻松上云聚焦业务创新帮助企业数字化快速转型。
以下是ServiceStage提供的能力概况从整张生态图来讲确实提供的能力是很全面的跟多应用场景可参考 。 微服务改造
由于之前大部分项目都是通过Spring Cloud全家桶进行架构的这里我们直接使用Spring Cloud Huawei来改造我们已有的微服务架构。
官方文档: https://support.huaweicloud.com/devg-servicestage/cse_java_0054.html
项目地址: https://github.com/huaweicloud
注册中心改造
pom引入这里直接引入huawei ServiceComb服务注册组件移除consul的依赖。
dependencygroupIdcom.huaweicloud/groupIdartifactIdspring-cloud-starter-huawei-servicecomb-discovery/artifactId
/dependency
!-- dependency--
!-- groupIdorg.springframework.cloud/groupId--
!-- artifactIdspring-cloud-starter-consul-discovery/artifactId--
!-- /dependency--
application.yml指向注册中心。这里由于暂时是本地改造微服务架构没有连接云上的微服务管控控制台所以这里直接下载Local CSE的客户端点击start.bat启动 启动成功之后访问http://localhost:30106/ 即可看到本地版的CSE控制台页面。 application.yml改动
spring:cloud:servicecomb:discovery:address: http://127.0.0.1:30100 --30100为服务注册端口main app保留注解并启动
EnableDiscoveryClient成功之后便可以在CSE控制台看见注册成功的服务列表
配置中心改造
配置中心的改造也比较简单移除原有的配置中心依赖pom引入spring-cloud-starter-huawei-config
!-- dependency--
!-- groupIdorg.springframework.cloud/groupId--
!-- artifactIdspring-cloud-starter-config/artifactId--
!-- /dependency--dependencygroupIdcom.huaweicloud/groupIdartifactIdspring-cloud-starter-huawei-config/artifactId/dependency
bootstrap.yml替换原有的spring cloud config配置中心的方式如下
spring:application:name: admincloud:servicecomb:config:serverAddr: http://127.0.0.1:30113watch:delay: 10000credentials:enabled: false测试配置中心
RefreshScope
RestController
RequestMapping(/servicestage)
public class ServiceStageController implements ApplicationListenerConfigRefreshEvent {Value(${dd:})private String dd;RequestMapping(/price)public String sayHello(RequestParam(id) String id) {return price --- id;}Overridepublic void onApplicationEvent(ConfigRefreshEvent event) {System.out.println(change [ event.getChange() ]);}
}访问 http://localhost:30106/#/cse/services/config添加配置作用域下拉列表可选择作用于哪个服务配置key, value 测试访问 修改配置文件将dd改为其他值测试refreshscope功能可见配置自动更新。 日志打印
2020-11-24 13:31:22.558 [ThreadPoolTaskScheduler-1] DEBUG o.s.core.env.PropertySourcesPropertyResolver - Found key dd in PropertySource bootstrapProperties with value of type String
2020-11-24 13:31:22.558 [ThreadPoolTaskScheduler-1] DEBUG o.s.core.env.PropertySourcesPropertyResolver - Found key dd in PropertySource bootstrapProperties with value of type String
2020-11-24 13:31:22.559 [ThreadPoolTaskScheduler-1] DEBUG o.s.core.env.PropertySourcesPropertyResolver - Found key dd in PropertySource bootstrapProperties with value of type String
2020-11-24 13:31:22.559 [ThreadPoolTaskScheduler-1] DEBUG o.s.core.env.PropertySourcesPropertyResolver - Found key dd in PropertySource environmentProperties with value of type String
change [[dd]]
重新访问服务配置已更新 网关
网关目前依旧是Spring Cloud ApiGateway的方式无需额外配置。
以上为主要微服务组件的改造工作其他微服务治理相关目前huawei还在迭代中后续我们将改造的微服务部署在华为云上。
小墨唯一公众号 《DevOps特种部队》分享我在国企数字化转型中DevOps领域所有相关技术栈也包含职场的苦与乐希望各位朋友搜索或者扫描下方图片一键关注给个支持