mica-launcher 启动器
2021-03-03 22:09
627 查看
前言
微服务中规范往往比代码更加重要,一些良好的规范,能让我们少走弯路。
mica-launcher启动器就是对服务名和服务环境进行了定制的处理,使得企业开发更加方便快捷。
服务名规范
服务名在微服务中起着至关重要的位置,一个好的服务名应该见名知意。下面是笔者在工作中总结的规范。
小开发团队-两级
例如:
user-api
第一级 服务名
第二级 服务类型
多个开发团队-三级
将组名放到第一位,方便快速定位到技术组。
例如:
mica-user-api
第一级 组名
第二级 服务名
第三级 服务类型
环境划分
愿景
启动器的使命就是让我们的 jar 在各种环境中都可以方便启动,不用添加过多的配置,减少学习成本,能快速上手。
环境划分
dev(开发)、test(测试)、ontest(线上测试)、prod(正式),默认dev
环境变量配置
背景故事
mica-launcher 最早的雏形初现在笔者的一些 JFinal 项目中,期初主要是为了适应开发阶段的 jetty 和正式环境的 tomcat 日志目录。
在 Spring boot 中我便设计了 mica-launcher 来处理服务环境,使其更加方便好用。
mica-launcher 使用
使用起来比原生的
spring boot启动器里多了一个服务名参数,微服务中服务名对一个服务特别重要,故在启动器启动时写死。
Maven
net.dreamlu mica-launcher
Gradle
implementation "net.dreamlu:mica-launcher"
{ ([] ) { .(, ., ); } }
注意:使用了
mica-launcher启动器,需要结合
mica-test进行单元测试,具体文章请查看 mica test 单元测试。
启动器自动化配置
代码中可以采用注入
MicaProperties来读取启动器中的一些变量,比如
env等。
mica.prop可以在配置文件中
自定义配置。然后再在代码中使用
MicaProperties读取。
配置项 | 默认值 | 说明 |
mica.env | dev | 【只读】mica 环境变量,方便在代码中获取,设置无效. |
mica.is-local | false | 【只读】判断是否为 本地开发环境 |
mica.prop | 无 | 装载自定义配置 mica.prop.xxx |
自定义配置
如梦技术 https//www.dreamlu.net
配置读取
; () { .(); .(); }
启动器插件扩展
启动器的主要目的是能更加方便的去注入一些通用配置,降低使用难度。
mica-log4j2就是一个启动器的扩展。
插件扩展基于 java SPI 技术,关于 java SPI 具体使用可以百度。
实现 LauncherService,重写 launcher 方法
下面是 LauncherService 的代码。
{ ( , , , , ); }
编写 SPI 文件放置到 resources 目录下
文件路径和文件名
META-INF/services/net.dreamlu.mica.launcher.LauncherService。
内容为你编写的插件完整类名,例如:
net.dreamlu.mica.log.LogLauncherServiceImpl。
最佳实践
mica-launcher中我们预制了环境变量,您可以再服务里将配置中心按环境来划分域名。在配置中可以使用 ${mica.env} 占位符完成配置。
例如:(配置服务域名)
config-dev.dreamlu.vip config-test.dreamlu.vip ......
使用示例:
https//config-$mica.env.dreamlu.vip
相关文章推荐
- mica-launcher 启动器
- GridView实现简单的应用启动器Launcher
- launcher 桌面启动器的DB文件数据处理操作
- Ubuntu 16.04 GNOME在桌面左侧添加启动器(Launcher)
- ubuntu 16.04 LTS - 侧边栏 (启动器) auto-hide the launcher
- 安卓系统中的桌面启动器Launcher
- 删除Ubuntu的Gnome界面上无用的启动器(Launcher)
- Android的Launcher启动器中添加快捷方式及小部件实例
- Android启动器(Launcher)开发详解
- 修改Ubuntu12.04 左侧启动器Launcher图标大小,以及如何隐藏启动器?
- ubuntu16 启动器Launcher位置以及自动隐藏
- Windows Phone开发(26):启动器与选择器之MediaPlayerLauncher和SearchTask 转:http://blog.csdn.net/tcjiaan/article/details/7408968
- 删除Ubuntu的Gnome界面上无用的启动器(Launcher)
- Android启动器(Launcher)开发详解
- 与众不同 windows phone (4) - Launcher(启动器)
- Ubuntu16.04 桌面左侧(Launcher)启动器与屏幕底部互换
- WP7 Launcher 启动器
- Android启动器(Launcher)开发详解
- qemu-launcher:图形化的QEMU启动器
- 漂亮的启动器工具 Duck Launcher 0.64.5