SpringBoot开发案例之Nacos注册中心管理
前言
在之前的 Dubbo 服务开发中,我们一般使用 Zookeeper 作为注册中心,同时还需要部署 Dubbo 监控中心和管理后台。
Nacos 注册中心
Nacos 是阿里巴巴的开源的项目,全称 Naming Configuration Service ,专注于服务发现和配置管理领域。
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 生态图
如 Nacos 全景图所示,Nacos 无缝支持一些主流的开源生态,例如
Spring Cloud
Apache Dubbo and Dubbo Mesh TODO
Kubernetes and CNCF TODO。
使用 Nacos 简化服务发现、配置管理、服务治理及管理的解决方案,让微服务的发现、管理、共享、组合更加容易。
Nacos Spring Boot 快速开始
<!-- Dubbo Nacos registry dependency --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo-registry-nacos</artifactId> <version>2.6.7</version> </dependency> <!-- Dubbo dependency --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.6.5</version> </dependency> <!-- Alibaba Spring Context extension --> <dependency> <groupId>com.alibaba.spring</groupId> <artifactId>spring-context-support</artifactId> <version>1.0.2</version> </dependency> <!--Dubbo 依赖--> <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.32.Final</version> </dependency>
配置文件:
## application dubbo.application.name = spring-boot-pay dubbo.registry.address = nacos://47.104.197.9:8848 dubbo.protocol.name=dubbo dubbo.protocol.port=-1
启动类引入 Dubbo 注解:
@EnableDubbo @SpringBootApplication public class Application { private static final Logger logger = LoggerFactory.getLogger(AliPayServiceImpl.class); public static void main(String[] args){ SpringApplication.run(Application.class, args); logger.info("启动成功"); } }
接口实现:
//省略部分代码 import com.alibaba.dubbo.config.annotation.Service; @Service(group = "itstyle-nacos", retries = 1, timeout = 10000) public class AliPayServiceImpl implements IAliPayService { }
打包接口:
<!-- 打包接口 https://blog.52itstyle.vip --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <executions> <execution> <id>service</id> <phase>package</phase> <goals> <goal>jar</goal> </goals> <configuration> <classesDirectory>${project.build.directory}/classes</classesDirectory> <finalName>pay-service</finalName> <outputDirectory>${project.build.directory}</outputDirectory> <includes> <include>com/itstyle/modules/alipay/service/*.*</include> <include>com/itstyle/modules/unionpay/service/*.*</include> <include>com/itstyle/modules/weixinpay/service/*.*</include> <include>com/itstyle/common/model/*.*</include> </includes> </configuration> </execution> </executions> </plugin>
服务引用:
/** * 支付宝支付 * 创建者 爪哇笔记 https://blog.52itstyle.vip * 创建时间 2019年7月20日 */ @Controller @RequestMapping(value = "alipay") public class AliPayController { @Reference private IAliPayService aliPayService; }
启动项目,登录到管理控制中心,如果发现有数据,说明注册成功。
小结
一个 Nacos 就轻松搞定了,还捎带着配置管理中心,一举两得,何乐不为。
参考案例
https://gitee.com/52itstyle/spring-boot-pay/tree/spring-boot-nacos-pay
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
你了解Spring事物控制特性吗
一.事务特性原子性:强调事务的不可分割一致性:强调的是事务的执行的前后,数据的完整性要保持一致隔离性:一个事务的执行不应该受到其他事务的干扰持久性:事务一旦结束(提交/回滚)数据就持久保持到了数据库 二.如果不考虑隔离性,会引发一些安全性问题读问题脏读:一个事务读到另一个事务还没有提交的数据不可重复读:一个事务读到了另一个事务已经提交的update数据,导致在当前的事务中多次查询数据不一致虚读/幻读:一个事务读到另一个事务已经insert数据,导致当前事务中多次查询结果不一致 写问题引发两类丢失更新 三.解决引发的读问题设置事务的隔离级别read uncommitted :未提交读。脏读,不可重复读,虚读都可能发生read committed :已提交读。避免脏读,不可重复读和虚度有可能发生repeatable read :可重复读。避免脏读和不可重复读,虚读可能发生serializable :串行化的。避免脏读,不可重复读,虚读的发生 select @@tx_isolation; 查看隔离级别set session transaction isolation level 级别; 设置...
- 下一篇
SpringBoot开发案例之Nacos配置管理中心
前言 在开发过程中,通常我们会配置一些参数来实现某些功能,比如是否开启某项服务,告警邮件配置等等。一般会通过硬编码、配置文件或者数据库的形式实现。 那么问题来了,如何更加优雅的实现?欢迎来到 Nacos 的世界! Nacos 配置管理 Nacos 是阿里巴巴的开源的项目,全称 Naming Configuration Service ,专注于服务发现和配置管理领域。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 生态图 如 Nacos 全景图所示,Nacos 无缝支持一些主流的开源生态,例如 Spring Cloud Apache Dubbo and Dubbo Mesh TODO Kubernetes and CNCF TODO。 使用 Nacos 简化服务发现、配置管理、服务治理及管理的解决方案,让微服务的发现、管理、共享、组合更加容易。 Nacos Spring Boot 快速开始 这里以为 Spring-Boot2.x 为例: pom.xml引入依赖: <d...
相关文章
文章评论
共有0条评论来说两句吧...