java转go遇到 Apollo?让 agollo 来平滑迁移

发表于:2020-8-18 09:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Go Official Blog    来源:今日头条

#
java
分享:
  Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
  如果在使用golang重构java的过程中,使用到了分布式配置中心Apollo,那么最快的方式就是使用原来的配置,保持最平滑的迁移,这个时候你就需要一个Apollo的golang客户端,agollo可以是你的一个选择。
  使用指南
  1.1.环境要求
  Go1.11+(最好使用Go1.12)
  1.2.依赖
  1.2.1.使用goget方式
  1.2.2.使用gomod方式
  go.mod
  执行
  import
  FAQ
  为什么要加+incompatible
  go.mod不能下载agollo的解决方法
  1.3.必要设置
  Apollo客户端依赖于AppId,Environment等环境信息来工作,所以请确保阅读下面的说明并且做正确的配置:
  main:yourapplication
  app.properties(必要):连接服务端必要配置
  seelog.xml(非必要)
  1.3.1.配置
  加载优先级:
  类配置
  环境变量指定配置文件
  默认(app.properties)配置文件
  1.3.1.1.类配置
  会覆盖app.properties中配置,在调用Start方法之前调用
  类配置agollo的demo:
  1.3.1.2.环境变量指定配置文件
  Linux/Mac
  Windows
  配置文件内容与app.properties内容一样
  1.3.1.3.文件配置-app.properties
  1.开发:请确保app.properties文件存在于workingdir目录下
  2.打包后:请确保app.properties文件存在于与打包程序同级目录下,参考1.3.必要配置。
  目前只支持json形式,其中字段包括:
  appId:应用的身份信息,是从服务端获取配置的一个重要信息。
  cluster:需要连接的集群,默认default
  namespaceName:命名空间,默认:application(具体定义参考:namespace),多namespace使用英文逗号分割,非key/value配置(json,properties,yml等),则配置为:namespace.文件类型。如:namespace.json
  ip:Apollo的CONFIGSERVICE的ip,非METASERVICE地址
  配置例子如下:
  一般配置
  多namespace配置
  非key/valuenamespace配置
  1.4日志组件
  参考:
  自定义日志组件
  使用seelog日志组件
  启动方式
  异步启动agollo
  场景:启动程序不依赖加载Apollo的配置。
  同步启动agollo(v1.2.0+)
  场景:启动程序依赖加载Apollo的配置。例:初始化程序基础配置。
  启动agollo-自定义logger控件
  启动agollo-自定义cache控件(v1.7.0+)
  启动agollo-自定义各种控件(v1.8.0+)
  监听变更事件(阻塞)
  基本方法
  String
  Int
  Float
  Bool
  切换namespace获取配置
  根据namespace获取配置
  String
  Int
  Float
  Bool
  自定义日志组件
  复制以下代码至项目中,并在其中引用日志组件的方法进行打印log
  启动
  自定义缓存组件
  声明自定义缓存组件
  使用自定义缓存

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号