Nacos

ASP.NET Core结合Nacos来完成配置管理和服务发现

流过昼夜 提交于 2020-04-10 13:35:05
目录 前言 Nacos的简介 启动Nacos 配置管理 服务发现 写在最后 前言 今年4月份的时候,和平台组的同事一起调研了一下Nacos,也就在那个时候写了.net core版本的非官方版的 SDK 。 虽然公司内部由于某些原因最后没有真正的用起来,但很多人还是挺看好的。在和镇汐大大沟通后,决定写一篇博客简单介绍一下。 下面这个图,就是本文的重点了。 Nacos的简介 Nacos是一个易于构建云原生应用的动态服务发现、配置管理和服务管理平台,它提供了一组简单易用的特性集,帮助我们快速实现动态服务发现、服务配置、服务元数据及流量管理。 它有下面的关键特性 服务发现和服务健康监测 动态配置服务 动态 DNS 服务 服务及其元数据管理 ... 特性还是挺多的,也有挺多值的挖掘的地方。有关Nacos的更多信息可以访问下面的地址: https://nacos.io/zh-cn/ https://github.com/nacos-group https://github.com/alibaba/nacos 下面就开始正题了,第一步肯定是先把Nacos跑起来。 启动Nacos 由于是演示,所以直接用docker启动了 Standalone Mysql 模式的。 git clone --depth 1 https://github.com/nacos-group/nacos-docker.git

阿里巴巴的26款超神Java开源项目

情到浓时终转凉″ 提交于 2020-04-06 12:13:59
1.分布式应用服务开发的一站式解决方案 Spring Cloud Alibaba Spring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。 地址: https://github.com/spring-cloud-incubator/spring-cloud-alibaba 2. JDBC 连接池、监控组件 Druid Druid是一个 JDBC 组件。 1.监控数据库访问性能。 2.提供了一个高效、功能强大、可扩展性好的数据库连接池。 3.数据库密码加密。 4.SQL执行日志。 地址: https://github.com/alibaba/druid 3. Java 的 JSON 处理器 fastjson fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。 主要特点:快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson);强大

dubbo升级2.7.4.1平滑迁移到nacos

ε祈祈猫儿з 提交于 2020-04-05 20:52:41
前言 dubbo是一款非常优秀的服务治理型RPC框架,dubbo的优秀在于,庞大的架构体系、精湛的模块设计、灵活的SPI设计、丰富的组件实现,博主做微服务技术选型考察dubbo时,非常惊叹在那个年代别人就已经能够产出如此优秀的项目,以至于后面每逢别人说想要学习架构设计时,我都会推荐他读读dubbo的代码,学习下dubbo的架构设计原则。常说dubbo不仅仅是一款RPC框架,是因为他的服务治理特性相对于RPC通讯来说更加的突出,这个特性让我在2017年选型的时候果断选择了他,那个时候dubbo官方还没产出spring boot starter,而我们的项目大部分完成了从spring mvc改造到spring boot项目。为了简化开发集成dubbo组件,我们基于dubbo2.5.6版本自研了一套spring-boot-dubbo-starter组件,并且自定义dubbo服务暴露和引入的注解, 自定义了dubbo的配置装载方式。当时没有专业的运维、搭建高可用zk也费资源,为了简单方便少维护一个组件、当时我们直接选了redis(阿里云高可用实例)作为dubbo的注册中心。以上就是我们这次升级dubbo的背景情况 为什么升级到2.7.4.1? 从2.5.6到2.7.x,中间修复非常多的bug,带来了非常多的新特性。 2.5.x版本不在作为一个保留维护的版本,目前主力维护的就2.6.x和2

【Seata微服务分布式事务】1. Seata服务端环境搭建

拥有回忆 提交于 2020-04-05 18:44:32
seata-serve安装包 下载seata-server包,我所有的是0.9.0版本 https://github.com/seata/seata/releases wget https://github.com/seata/seata/releases/download/v0.9.0/seata-server-0.9.0.tar.gz 链接:https://pan.baidu.com/s/1jlBwCEYM3hn7zQiSpwRijg 密码:56vm 官网0.9.0版本以后conf文件已经没有SQL文件 执行SQL脚本 数据库名称:seata -- the table to store GlobalSession data drop table if exists `global_table`; create table `global_table` ( `xid` varchar(128) not null, `transaction_id` bigint, `status` tinyint not null, `application_id` varchar(32), `transaction_service_group` varchar(32), `transaction_name` varchar(128), `timeout` int, `begin_time`

注册中心--Nacos

时光毁灭记忆、已成空白 提交于 2020-03-21 11:24:22
3 月,跳不动了?>>> 这图看久了看的蛮舒服的,这两天接触了阿里的新技术 Nacos (对于我来说是新技术),由于之前学过 SpringCloud 的 eureka ,所以在看 Nacos 的官方文档的时候,就很容易上手。 下面简单介绍下 Nacos:(其实也是来自 Nacos官方的解释) 附上 Nacos 的官方地址,后期学习也是依照官方文档: https://nacos.io/zh-cn/docs/what-is-nacos.html Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。 以下是我的总结: 1、Nacos是与SpringCloud等一些流行框架是无缝整合的。文档极为详细。 2、Nacos的功能: 动态配置服务 、 服务注册发现及管理 、 动态DNS服务 下面附上我写的一个简单 Nacos 的Demo,与 SpringCloud 整合的:先看Nacos-Provider端: pom文件配置:(重点留意<dependencyManagement>标签的配置,这里涉及到springCloud依赖版本和spring

集成SpringBootAdmin and Nacos and SpringSecurity

一世执手 提交于 2020-03-18 23:27:16
3 月,跳不动了?>>> 前言 本文约定: SpringBootAdmin - SBA SpringSecurity - SSE 以当前我在搜索引擎检索的情况来看,大家对于SBA的应用都比较局限,发散性使用很少,基本都是基于官网给的例子(eureka-SBA-SSE), 而且网上的各文章,出现了一些很容易让人迷惑的问题,就比如引入依赖的部分SpringCloudAlibaba在引入依赖的时候竟然出现了两种GroupId..., 为此我也被绕晕了,故基于最新的版本以及SpringCloudAlibaba推荐的方式,对SBA-SSE-Nacos进行了一下集成,并写了这篇文章,希望后面看到的人避免再淌这个坑 Ps.不得不说微服务各界的版本是真的很混乱。 开始 安装Nacos 具体安装教程,可以参考官网,这里不再赘述,安装很简单。 版本:1.4+(其实1.1以上应该都可以) 创建项目 一个maven项目即可,按一般的教程会创建两个项目,一个作为Admin Server,一个作为Admin Client, 这里为了减少大家的学习成本,本示例会直接将本项目在作为AdminServer的同时,同时配置以客户端的身份注册到AdminServer. 引入依赖 <properties> <java.version>1.8</java.version> <spring-boot-admin

nacos sta

家住魔仙堡 提交于 2020-03-11 15:05:54
docker run --detach \ --restart always \ --name nacos \ --publish 8848:8848 \ --env MODE=standalone \ --env MYSQL_SERVICE_HOST=192.168.3.76 \ --env MYSQL_SERVICE_DB_NAME=nacos \ --env MYSQL_SERVICE_USER=root \ --env MYSQL_SERVICE_PASSWORD=Gah6kuP7ohfio4 \ --env MODE=standalone \ nacos/nacos-server:1.2.0 参考文献 https://hub.docker.com/r/nacos/nacos-server 来源: oschina 链接: https://my.oschina.net/qwfys200/blog/3191755

xtwj inner service config env

怎甘沉沦 提交于 2020-03-09 10:34:12
Env env description alpha 开发环境 beta 功能测试 gamma 预发测试 Service env service ip port username passwd beta mysql 192.168.3.76 3306 root Gah6kuP7ohfio4 beta zookeeper 192.168.3.66 2181 - - beta redis 192.168.3.75 6379 - - beta nacos 192.168.3.79 8848 - - gamma mysql 192.168.3.73 3306 root Gah6kuP7ohfio4 gamma zookeeper 192.168.3.72 2181 - - gamma redis 192.168.3.71 6379 - - gamma nacos 192.168.3.74 8848 - - 来源: oschina 链接: https://my.oschina.net/qwfys200/blog/3190328

Spring Cloud Ribbon 源码解析

早过忘川 提交于 2020-03-02 21:34:42
专栏目录 Spring Cloud OpenFeign 源码解析 Spring Cloud Ribbon 源码解析 Spring Cloud Alibaba Sentinel 源码解析 Spring Cloud Gatway 源码解析 Spring Cloud Alibaba Nacos 源码解析 代码准备 依赖关系 +------------+ +------------+ | | | | | | | | | | | | | | | | | consumer +------------> | provider | | | RestTemplate | | | | | | | | | | | | | | +------------+ +------------+ pom 依赖 加入nacos 服务发现即可,内部引用了 spring-cloud-ribbon 相关依赖 <dependency> <groupid>com.alibaba.cloud</groupid> <artifactid>spring-cloud-starter-alibaba-nacos-discovery</artifactid> </dependency> 调用客户端 我们这里以最简单的 RestTemplate 调用开始使用 Ribbon @Bean @LoadBalanced public

通过Nacos让Nginx拥有服务发现能力

馋奶兔 提交于 2020-02-28 04:16:16
背景 先来回忆一下, nginx 如何配置多个实例的负载均衡,配置如下: upstream serverList { server 172.17.0.111:9999; server 172.17.0.110:9999; } server { location / { proxy_pass http://serverList; } } 当我们的服务实例变化时,要手动修改 nginx.conf 然后 nginx -s reload 。 在微服务架构下,我们的服务均已经注册到 注册中心 例如(nacos/eureka),注册中心已经维护所有服务实例的 IP:PORT 列表 ,为何不直接通过 nginx 来获取注册中心中的 IP:PORT 列表自动配置 upstream 和热更新。 如上思路实现有如下: 使用 nginx-lua-module 模块编写 lua 脚本, 调用注册中心的 Http API 来获取实例列表 配置 upstream ,定时 reload 热更新 使用 JAVA/Golang 编写单独的 agent ,直接使用nacos 对应语言的 SDK ,获取实例列表生成 upstream ,并且使用 Naocs SDK 监听服务变化 reload nacos-nginx-template 使用 nacos-nginx-template