电子商务网站建设asp,网站建设科技北京有限公司,广州越秀区怎么样,如何做网络推广公司网上关于 Nacos 的使用介绍已经很多了#xff0c;尤其是与 SpringBoot 的整合使用。怎么安装也跳过了#xff0c;主要就讲 Nacos 在 Solon 里的使用#xff0c;这个网上几乎是没有的。
1、认识 Solon
Solon 一个高效的应用开发框架#xff1a;更快、更小、更简单#xf…网上关于 Nacos 的使用介绍已经很多了尤其是与 SpringBoot 的整合使用。怎么安装也跳过了主要就讲 Nacos 在 Solon 里的使用这个网上几乎是没有的。
1、认识 Solon
Solon 一个高效的应用开发框架更快、更小、更简单也是个新起的 Java 生态。 启动快 5 10 倍qps 高 2 3 倍运行时内存节省 1/3 ~ 1/2打包可以缩到 1/2 ~ 1/10同时支持 jdk8, jdk11, jdk17, jdk19。
Solon 项目官网https://solon.noear.org
2、认识 Solon Cloud Config
Solon Cloud 是一套分布式或微服务开发的接口与配置规范。其中 Solon Cloud Config 为云端配置服务主要提供分布式配置服务的接口并与相关的中间件客户端进行适配
通过 CloudConfigService 接口与中间件进行适配使用 CloudClient.config() 获取适配实例可支持手动操作一般通过通过配置和 CloudConfig 注解进行使用
其中 nacos-solon-cloud-plugin是 nacos 关于 solon cloud config 的适配。也是本文的主角。
3、项目整合
3.1、在 Nacos 准备两个配置
安装好 Nacos配置后需要准备下配置数据。新建个“test”命名空间然后准备 DataId 为 “demoapp.yml” 配置这个配置用于导入到应用属性
demo.user.name: 1再准备 DataId 为 “demo-ds” 配置这个配置将直接使用
demo.ds:url: username: password: 3.2、创建项目完成配置
借助 Solon Initializr https://solon.noear.org/start/ 生成一个 maven java 的项目模块这样方便些。用开发工具打开项目比如 IDEA。在 pom.xml 里面添加依赖
dependenciesdependencygroupIdorg.noear/groupIdartifactIdnacos-solon-cloud-plugin/artifactId/dependency
/dependencies然后在应用属性配置文件“app.yml”添加 nacos 的连接信息
solon.app:name: demoappgroup: demonamespace: testsolon.cloud.nacos:server: localhost:8848 #nacos 服务地址config:load: demoapp.yml #加载配置到应用属性多个以,隔开“…config.load” 会导入配置到应用属性。之后可用“Inject”注入也可用“Solon.cfg().get(…)”获取。
3.3、代码应用
在模板项目里添加 “Config” 类
Configuration
public class Config {//注入用户名 //来自 config.load 导入到应用属性的Inject(${demo.user.name}) String userName;//注入并转为数据源 //直接来自 DataId demo-dsBeanpublic DataSource ds(CloudConfig(demo-ds) HikariDataSource ds){return ds;}
}直接获取 nacos 配置可以通过CloudConfig注解或者 “CloudClient.config().pull(group, name)” 手动获取。
4、多马甲项目的应用
很多情况下公司会有相同的代码但是不同的运营项目。这个场景下自然是希望代码都不用改。
4.1、添加新的命名空间
在 Nacos 里添加 “test2” 命名空间。然后把刚才的配置 DataId 复制一份。
4.2、修改项目应用配置
通过 app.yml 修改配置
solon.app:name: demoappgroup: demonamespace: test2solon.cloud.nacos:server: localhost:8848 #nacos 服务地址config:load: demoapp.yml #加载配置到应用属性多个以,隔开通过启动时指定方式二
java -Dsolon.app.namespacetest2 -jar demoapp.jar 通过容器镜像的环境变量指定 方式三
services:demoapp:image: demo/demoapp:1.0.0container_name: demoappenvironment:- solon.app.namespacetest2- TZAsia/Shanghaiports:- 8080:8080方式二、方式三。什么都不用改只需要在部署运行时指定一下推荐