首页 文章 精选 留言 我的

精选列表

搜索[智博会],共10000篇文章
优秀的个人博客,低调大师

每日一博 | Nacos 快速上手

Nacos 快速上手 简介 准备工作 部署 Spring Boot 集成 配置说明 Spring Cloud + Nacos Dubbo + Nacos 问题及解决方式 微服务现在越来火,有基于 Spring Cloud Netflix 体系的,也有基于 Spring Cloud Alibaba 为体系的。从以前的 Eureka 注册中心、Spring Cloud Config 配置中心、Spring Cloud Bus消息总线 到完全可以替代他们的 Nacos 出现,微服务技术体系的未来发展方向愈加清晰。所以,学会并了解如何使用 Nacos 是十分重要的。Nacos 不仅仅可以作为配置中心使用,还可以作为注册中心使用,其有很多十分优秀的特性,部署起来也十分方便。 主要目的: 熟练使用 Nacos; 基于 Spring Cloud Alibaba 体系进行项目基础 Demo 搭建,便于后续源码分析; 整合 Dubbo,便于后续源码分析; 手机用户请横屏获取最佳阅读体验,REFERENCES中是本文参考的链接,如需要链接和更多资源,可以加入『知识星球』获取长期知识分享服务。 简介 动态配置服务 动态配置服务让您能够以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。配置中心化管理让实现无状态服务更简单,也让按需弹性扩展服务更容易。 服务发现及管理 动态服务发现对以服务为中心的(例如微服务和云原生)应用架构方式非常关键。Nacos支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服务发现。Nacos也提供实时健康检查,以防止将请求发往不健康的主机或服务实例。借助Nacos,您可以更容易地为您的服务实现断路器。 动态DNS服务 通过支持权重路由,动态DNS服务能让您轻松实现中间层负载均衡、更灵活的路由策略、流量控制以及简单数据中心内网的简单DNS解析服务。动态DNS服务还能让您更容易地实现以DNS协议为基础的服务发现,以消除耦合到厂商私有服务发现API上的风险。 准备工作 Docker 运行环境 Mysql 或 Mysql 的容器 部署 单机版本 #拉取镜像dockerpullnacos/nacos-server#运行dockerrun--envMODE=standalone--namenacos-d-p8848:8848nacos/nacos-server 访问 http://127.0.0.1:8848/nacos/#/login . 密码和账号默认都是 nacos . Spring Boot 集成 配置说明 配置命名空间 . Spring Cloud + Nacos 依赖配置 compilelibs["spring-cloud-starter-alibaba-nacos-config"]compilelibs["spring-cloud-starter-alibaba-nacos-discovery"] resources 下新建文件 bootstrap.yaml #nacos配置(nacosconfig必须配置在bootstrap)spring:cloud:nacos:discovery:server-addr:${NACOS_SERVER_ADDR:127.0.0.1:8848}namespace:${NACOS_NAMESPACE:dsb-cloud}metadata:{"checkSum":"${random.value}-${random.uuid}"}config:server-addr:${NACOS_SERVER_ADDR:127.0.0.1:8848}namespace:${NACOS_NAMESPACE:dsb-cloud}file-extension:yaml 服务注册中心 //启动类开启注解@EnableDiscoveryClient 作为 Spring Boot 项目启动后,可以看到成功注册到 Nacos 上了。 . 点击详情后可以看到对应的服务信息 . Dubbo + Nacos 公共 API 包 . 服务提供者 pom dependencies{compilelibs["spring-boot-starter-actuator"]//nacoscompile(libs["nacos-discovery-spring-boot-starter"]){excludegroup:'com.alibaba.spring',module:'spring-context-support'}compile'com.alibaba.spring:spring-context-support:1.0.3'compileproject(':spring-cloud-examples:dubbo-examples:spring-cloud-dubbo-api')compilelibs['dubbo-spring-boot-starter']testCompile"org.springframework.boot:spring-boot-starter-test"} application.yaml spring:application:name:spring-boot-dubbo-providerdubbo:application:name:spring-boot-dubbo-providerregistry:nacos://127.0.0.1:8848protocol:name:dubboport:20880 bootstrap.yaml #nacos配置(nacosconfig必须配置在bootstrap)spring:cloud:nacos:discovery:server-addr:${NACOS_SERVER_ADDR:127.0.0.1:8848}namespace:${NACOS_NAMESPACE:dsb-cloud}metadata:{"checkSum":"${random.value}-${random.uuid}"}config:server-addr:${NACOS_SERVER_ADDR:127.0.0.1:8848}namespace:${NACOS_NAMESPACE:dsb-cloud}file-extension:yaml 核心类 //启动类@SpringBootApplication@DubboComponentScanpublicclassSpringBootDubboProviderApplication{publicstaticvoidmain(String[]args){SpringApplication.run(SpringBootDubboProviderApplication.class,args);}}//服务实现类packagepub.dsb.api.service.impl;importorg.apache.dubbo.config.annotation.Service;importpub.dsb.api.service.IHelloService;@ServicepublicclassHelloServiceImplimplementsIHelloService{@OverridepublicStringhi(Stringname){return"spring-cloud-dubbo-example:"+name;}} 启动服务提供者 . 服务消费者 pom (和服务提供者一样) dependencies{compilelibs["spring-boot-starter-web"]compilelibs["spring-boot-starter-actuator"]//nacoscompile(libs["nacos-discovery-spring-boot-starter"]){excludegroup:'com.alibaba.spring',module:'spring-context-support'}compile'com.alibaba.spring:spring-context-support:1.0.3'compileproject(':spring-cloud-examples:dubbo-examples:spring-dubbo-api')compilelibs['dubbo-spring-boot-starter']testCompile"org.springframework.boot:spring-boot-starter-test"} yaml spring:application:name:spring-boot-dubbo-consumerdubbo:registry:address:nacos://127.0.0.1:8848 核心类 @RestControllerpublicclassDubboRefController{@Reference(check=false)privateIHelloServicehelloService;@GetMapping("/hi")publicStringhi(){returnhelloService.hi(System.currentTimeMillis()+"");}}//启动类@SpringBootApplicationpublicclassSpringBootDubboConsumerApplication{publicstaticvoidmain(String[]args){SpringApplication.run(SpringBootDubboConsumerApplication.class,args);}} 接口测试 服务提供者 8080, 服务消费者 8081 GET http://127.0.0.1:8081/hiHTTP/1.1 200Content-Type: text/plain;charset=UTF-8Content-Length: 40Date: Tue, 01 Sep 2020 16:55:53 GMTspring-cloud-dubbo-example:1598979353325 注册信息 . 问题及解决方式 ClassNotFoundException: com.alibaba.spring.util.BeanRegistrar 引用新包,剔除有问题的包 spring-context-support。 No provider available for the service @Reference(check = false) 本文分享自微信公众号 - 架构探险之道(zacsnz1314)。如有侵权,请联系 support@oschina.cn 删除。本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

优秀的个人博客,低调大师

资源编排(ROS)博文索引

资源编排ROS 是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。 了解更多 资源编排(ROS)之入门篇 Hello, 资源编排 不写代码也可以驾驭阿里云OpenAPI 基于阿里云构建自己的弹性应用 资源编排模板详解 通过资源编排创建一个ECS实例 资源编排最佳实践之入门篇:云服务器如何从1到N? 简单高效的云服务器单元化扩容方案 资源编排(ROS)之ECS篇 端到端构建VPC网络,安全组和ECS资源 利用资源编排创建100台ECS实例并指定自动释放时间 利用资源编排服务,创建安全组(SecurityGroup)访问规则 一键创建包年包月ECS实例 资源编排Instance Clone 实现详解 使用ROS一键创建,分区,格式化和挂载数据盘 为ROS创建的资

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册