Nacos

java架构之路-(微服务专题)nacos集群精讲实战

心不动则不痛 提交于 2020-12-13 01:23:11
上次回顾:   上次博客,我们主要说了微服务的发展历程和nacos集群单机的搭建,单机需要-m standalone启动,集群建议使用nginx做一下反向代理,自行保证mysql和ngxin的高可用。 本次定位:   一、nacos的内部概念   二、nacos的基本使用   三、为下次ribbon组件做准备 nacos的内部概念   上次我们搭建好了nacos集群,这次我们就在那个集群基础上来继续说,上次我们只说到了服务如何注册到我们的nacos,但是调用还没说,这次我们来说说各种调用吧(调用的负载均衡算法在ribbon去说)。   ①.调用,我们先来一个最简单的调用,用户系统去调用订单系统,查询订单。   建立两个springboot项目,加入注册中心配置。配置上次博客说过了,这里就不再赘述了,在订单服务内写一个方法。 @RestController public class OrderController { @GetMapping( "/getOrderData" ) public String getOrderData(){ return "获得订单服务的数据" ; } @GetMapping( "/getOrderData-B" ) public String getOrderDataB(){ return "获得订单服务的数据B" ; } }   我就简单写一个了

虎牙在全球 DNS 秒级生效上的实践

守給你的承諾、 提交于 2020-12-12 21:22:56
本文整理自虎牙中间件团队在 Nacos Meetup 的现场分享,阿里巴巴中间件受权发布。 这次分享的是全球 DNS 秒级生效在虎牙的实践,以及由此产生的一些思考,整体上,分为以下5各部分: 背景介绍; 方案设计和对比; 高可用; 具体实践和落地; 规划; 背景介绍 虎牙用到的基础技术很多,DNS 是其中比较重要的一个环节。 DNS 的解析过程很关键,例如上图中的 DNS 解析器通过一个定位解析追踪到我们的 DNS,再到本地域名服务器迭代解析,经过根域再到.com名,最后到huya.com的根域名,获取最终的解析结果。 在这个过程中, DNS解析是天然的分布式架构,每一层都会有缓存,上一层出现问题挂掉,下一层都会有缓存进行容灾。另外,整个 DNS 协议支持面广,包括手机和 PC,我们用的编程框架里也有 DNS 解析器,服务器也会配 DNS 解析引擎,因此,DNS 在虎牙的基础设施中是很重要的部分。 虎牙的 DNS 的应用现状 虎牙当前主要是依赖于公共的 DNS,相信在座的小伙伴们或多或少都会遇到过下面这些问题: 依赖公共 localDNS,解析不稳定,延迟大。 记录变更生效时间长,无法及时屏蔽线路和节点异常对业务的影响。例如,权威 DNS 全球各节点数据同步时间不可控,全局生效时间超过10分钟;localDNS 缓存过期时间不可控,部分 localDNS 不遵循TTL时间

如何无缝迁移 SpringCloud/Dubbo 应用到 Serverless 架构

时光总嘲笑我的痴心妄想 提交于 2020-12-12 14:54:50
作者 | 行松 阿里巴巴云原生团队 来源 | Serverless 公众号,整理自 《Serverless 技术公开课》 背景 通过前面几节课程的学习,相信大家对于 SAE 平台已经有了一定的了解,SAE 基于 IaaS 层资源构建的一款 Serverles 应用托管产品,免除了客户很多复杂的运维工作,开箱即用、按用量付费;并且提供了丰富的 Open API 可以很容易地与其他平台做集成。 本文将为大家介绍 SAE 在微服务方面的一些能力,SAE 产品把 Serverless 技术和微服务做了很好的结合,天然支持 Java 微服务应用的托管和服务治理,对 SpringCloud/Dubbo 微服务应用能够在只修改配置和依赖,不修改代码的情况下迁移到 SAE 上,并提供服务治理能力,比如基于租户的微服务隔离环境、服务列表、无损下线、离群摘除、应用监控以及调用链分析等。 本次课程分为三部分来介绍,分别介绍微服务应用迁移到 SAE 的优势,如何迁移 SpringCloud/Dubbo 应用到 SAE 上,以及针对 SpringCloud 应用迁移的实践演示。 迁移到 SAE 的优势 在介绍迁移之前,先介绍下 SpringCloud/Dubbo 应用迁移到 SAE 的优势: SAE 内置注册中心: 所有用户共享注册中心组件,SAE 帮助用户运维,这就节省了用户的部署、运维成本

SpringCloud Alibaba-nacos注册中心

你离开我真会死。 提交于 2020-12-11 06:31:40
点击上方“ Java知音 ”,选择“置顶公众号” 技术文章第一时间送达! 本文系投稿,作者:小毛毛 cnblogs.com/zgwjava/p/10562775.html 什么是 Nacos? https://nacos.io Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。 服务(Service)是 Nacos 世界的一等公民。Nacos 支持几乎所有主流类型的“服务”的发现、配置和管理: Kubernetes Service gRPC & Dubbo RPC Service Spring Cloud RESTful Service Nacos 的关键特性包括: 服务发现和服务健康监测 Nacos 支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用 原生SDK、OpenAPI、或一个独立的Agent TODO注册 Service 后,服务消费者可以使用DNS TODO 或HTTP&API查找和发现服务。 Nacos 提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。Nacos 支持传输层

抢占云原生市场,阿里开源服务发现组件 Nacos快速入门

不羁岁月 提交于 2020-12-04 23:59:32
最近几年随着云计算和微服务不断的发展,各大云厂商也都看好了微服务解决方案这个市场,纷纷推出了自己针对微服务上云架构的解决方案,并且诞生了云原生,Cloud Native的概念。 云原生是一种专门针对云上应用而设计的方法,用于构建和部署应用,以充分发挥云计算的优势。 云原生应用的特点是可以实现快速和频繁的构建、发布、部署,可以方便的满足在扩展性,可用性,可移植性等方面的要求,并提供更好的经济性。 针对云原生,云厂商也纷纷提出了自己的解决方案,阿里巴巴开源的Nacos就是其中之一,Nacos同时集成到了Spring Cloud Alibaba中,作为一个整体的解决方案。 Nacos解决两个核心问题:动态配置管理,服务注册发现。 一、Nacos支持功能 Nacos支持以下的功能,包括服务发现,配置管理,元数据管理,地址服务器,支持云原生,支持Docker和K8s等。 服务发现 服务注册与发现 健康检查:支持服务端探测、客户端心跳 路由策略:支持权重、保护阈值、就近访问 配置管理 配置管理:支持发布、修改、查询、监听配置 灰度配置:支持灰度发布 元数据管理 对接第三方CMDB 地址服务器 支持Nacos寻址 云原生支持 对接Istio 对接ConfigMap 多客户端支持 支持多种客户端,包括Java客户端、Go客户端、Node.js客户端、C#客户端 支持Docker和K8s

Spring Cloud Alibaba 教程 | Nacos(一)

淺唱寂寞╮ 提交于 2020-12-04 18:34:23
什么是Nacos Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式)的服务基础设施。 使用Nacos组件可以作为微服务架构的注册中心和配置中心,可以简单理解为可以代替Netflix解决方案中的Eureka组件和Spring Cloud Config组件。 Nacos官方地址: https://nacos.io/zh-cn/index.html 主要功能 动态配置服务 动态配置服务让您能够以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。配置中心化管理让实现无状态服务更简单,也让按需弹性扩展服务更容易。 服务发现及管理 动态服务发现对以服务为中心的(例如微服务和云原生)应用架构方式非常关键。Nacos支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服务发现。Nacos也提供实时健康检查,以防止将请求发往不健康的主机或服务实例。借助Nacos,您可以更容易地为您的服务实现断路器。 动态DNS服务

Spring Cloud Alibaba Sentinel 断路器

≡放荡痞女 提交于 2020-11-30 21:22:01
学习在 Spring Cloud 中使用 Sentinel 实现断路器,类似 Spring Cloud Netflix Hystrix ,包括实时监控、簇点链路、流控、降级等功能。 Sentinel 提供的功能更强大,使用更方便,可以替代 Hystrix ,还能结合 Nacos 中的配置中心一起使用。 1 概述 Sentinel 的使用场景丰富,有完备的实时监控,广泛的开源生态。 Sentinel 整体上可以分为两个核心部分: 核心库和控制台 。 2 安装 首先下载控制台 jar 包,这是一个 Spring Boot 工程,下载好之后,直接启动。 下载地址: https://github.com/alibaba/Sentinel/releases/download/1.7.2/sentinel-dashboard-1.7.2.jar Sentinel 启动成功后,访问 http://127.0.0.1:8080 就能看到后台页面了,默认用户名/密码都是 sentinel 。 3 基本使用 创建 Spring Boot 项目 spring-cloud-sentinel ,添加 Web/Sentinel 依赖,如下: 最终的依赖如下: <dependencies> <dependency> <groupId>org.springframework.boot</groupId>

掌门教育微服务体系Solar第3弹:Nacos企业级落地下篇

安稳与你 提交于 2020-11-26 16:31:24
联席作者:谢璐 谢庆芳 伊安娜 任浩军<br />郑重鸣谢:Nacos - 彦林,Spring Cloud Alibaba - 小马哥、洛夜,Nacos 社区 - 张龙(pader)、春少(chuntaojun) 相关文章推荐: 掌门教育微服务体系 Solar | 阿里巴巴 Nacos 企业级落地上篇 掌门教育微服务体系 Solar | 阿里巴巴 Nacos 企业级落地中篇 前言 在高速发展的时候,公司规模越来越大,老师人数越来越多,这时候公司不能铺太多人去做运营与服务,必须提高每个人效,这就需要技术驱动。因此掌门教育转变成一家技术驱动型的公司,如果被迫成为一家靠资金驱动的公司就活不下去了。 -- 张翼(掌门教育创始人兼CEO) 掌门教育自2014年正式转型在线教育以来,秉承“让教育共享智能,让学习高效快乐”的宗旨和愿景,经历云计算、大数据、人工智能、 AR / VR / MR 以及现今最火的 5G ,一直坚持用科技赋能教育。掌门教育的业务近几年得到了快速发展,特别是今年的疫情,使在线教育成为了新的风口,也给掌门教育新的机遇。 随着业务规模进一步扩大,流量进一步暴增,微服务数目进一步增长,使老的微服务体系所采用的注册中心 Eureka 不堪重负,同时 Spring Cloud 体系已经演进到第二代,第一代的 Eureka 注册中心已经不大适合现在的业务逻辑和规模,同时它目前被

分享27个阿里 Java 开源项目,值得收藏!

梦想的初衷 提交于 2020-11-26 02:53:30
点击上方 Java学习指南 关注公众号 每天阅读Java干货文章 来源:http://t.cn/E6hvQw5 大家好,这里为大家整理了阿里的Java开源项目,希望对大家有所帮助 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 语言实现的

27个阿里 Java 开源项目,值得收藏!

拟墨画扇 提交于 2020-11-26 01:38:20
来源:http://t.cn/E6hvQw5 大家好,这里为大家整理了阿里的Java开源项目,希望对大家有所帮助 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 解析器和生成器,来自阿里巴巴的工程师开发。 主要特点