本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Alibaba Nacos 注册中心(一) 本篇文章讲解 Nacos 注册中心集群环境搭建. Nacos 集群环境搭建 集群模式跟我们平时进行扩容是一样的,可以通过 Nginx 转发到多个节点,如下图: 如果为了方便省事,可以使用直连 ip 模式,配置中按如下编写即可: spring: # 配置 Nacos 注册中心 cloud: nacos: discovery: enabled: true # 如果不想使用 N…
前言 从本章节开始,我们学习 Spring Cloud Alibaba 相关微服务组件. Spring Cloud Alibaba 介绍 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案.此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务. 依托 Spring Cloud Alibaba,只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里…
Nacos 介绍 Nacos 是 Alibaba 公司推出的开源工具,用于实现分布式系统的服务发现与配置管理.英文全称 Dynamic Naming and Configuration Service,Na 为 Naming/NameServer 即注册中心,co 为 Configuration 即配置中心,Service 是指该注册/配置中心都是以服务为核心.服务(Service)是 Nacos 世界的一等公民. ❝ 官网是这样说的:一个更易于构建云原生应用的动态服务发现.配置管理和服务管理平…
一.Spring Cloud Eureka 基于Netflix Eureka做了二次封装 由两个组件组成 Eureka Server 注册中心, 供服务注册的服务器 Eureka Client 服务注册. 用于简化与服务器的交互 二.注册中心 Eureka Server 记录了所有应用的信息和状态 三.创建工程 下一步 下一步 然后在类EurekaApplication中增加EnableEurekaServer注解 创建好了之后,启动应用 但是不停的报如下错误 com.netflix.disco…
本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Gateway 服务网关(一) 本篇文章讲解 Gateway 网关的多种路由规则.动态路由规则(配合服务发现的路由规则). 路由规则 点击链接观看:路由规则(获取更多请关注公众号「哈喽沃德先生」) Spring Cloud Gateway 创建 Route 对象时, 使用 RoutePredicateFactory 创建 Predicate 对象,Predicate 对象可以赋值给 Route. Spring Cl…
本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Sleuth 链路追踪(一) 本篇文章讲解 Sleuth 基于 Zipkin 存储链路追踪数据至 MySQL,Elasticsearch 以及使用 MQ 存储链路追踪数据至 MySQL,Elasticsearch. 存储追踪数据 Zipkin Server 默认存储追踪数据至内存中,这种方式并不适合生产环境,一旦 Server 关闭重启或者服务崩溃,就会导致历史数据消失.Zipkin 支持修改存储策略使用其他存储组…
本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Stream 消息驱动(一) 本篇文章讲解 Stream 如何实现消息分组和消息分区. 消息分组 如果有多个消息消费者,那么消息生产者发送的消息会被多个消费者都接收到,这种情况在某些实际场景下是有很大问题的,比如在如下场景中,订单系统做集群部署,都会从 RabbitMQ 中获取订单信息,如果一个订单消息同时被两个服务消费,系统肯定会出现问题.为了避免这种情况,Stream 提供了消息分组来解决该问题. 在 Stre…
[nacos下载地址](https://github.com/alibaba/nacos/releases) ### 什么是 Nacos? - nacos主要起到俩个作用一个是注册中心,另外一个是配置中心. 下面图 是nacos的功能结构图 ![Uploading file...](https://img2018.cnblogs.com/blog/1848187/201910/1848187-20191027093952334-1767616382.jpg) ### 运行环境 - JDK 1.8…
目录 前言 1. Nacos 基础知识 1.1 Nacos 命名方式 1.2 Nasoc 是什么 1.3 Nacos 的 4 个关键特性 1.4 Nacos 生态图 1.5 Nacos 架构图 1.6 Nacos 支持 AP 和 CP 模式的切换 1.7 Nacos 文件结构说明 1.8 Nacos 服务注册与发现的源码分析 2. 安装并运行 Nacos 服务器 2.1 安装包安装 Nacos 服务器 2.1.1 下载 Nacos 2.1.2 直接运行报错 2.1.3 修改启动方式后启动 2.2…
前文中我们提到 Netflix 中多项开源产品已进入维护阶段,不再开发新的版本,就目前来看是没有什么问题的.但是从长远角度出发,我们还是需要考虑是否有可替代产品使用.比如本文中要介绍的 Alibaba Sentinel 就是一款高性能且轻量级的流量控制.熔断降级可替换方案. Sentinel 官网:https://github.com/alibaba/Sentinel Hystrix 目前状态 官网提示:https://github.com/Netflix/Hystrix Hystrix is…
一.前言 本文为spring cloud 微服务框架专题的第一篇,主要讲解如何快速搭建spring cloud微服务及Eureka 注册中心 以及常用开发方式等. 本文理论不多,主要是傻瓜式的环境搭建. 为了更好的懂得原理,大家可以下载<spring cloud 和docker微服务架构实战>pdf得书籍      链接: https://pan.baidu.com/s/1LLSqy0QGOhFei-5XJ2HVSA  密码: d2x7 如果这个链接失效了,大家可以联系我的邮箱,我会很快回复并…
我们需要的,不仅仅是一个服务注册中心而已,而是一个高可用服务注册中心. 上篇博客[使用Spring Cloud搭建服务注册中心]中我们介绍了如何使用Spring Cloud搭建一个服务注册中心,但是搭建好的服务注册中心是一个单节点的服务注册中心,这样一旦发生了故障,那么整个服务就会瘫痪,所以我们需要一个高可用的服务注册中心,那么在Eureka中,我们通过集群来解决这个问题.Eureka Server的高可用实际上就是将自己作为服务向其他服务注册中心注册自己,这样就会形成一组互相注册的服务注册中心…
Eureka已经闭源了,用zk可以替代之 Eureka 作为注册中心 Dubbo也是zk作为注册中心的 Zookeeper简介 Zookeeper是一个分布式协调工具,可以实现服务注册与发现.注册中心.消息中间件.分布式配置中心等. 公共pom: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId&…
注册中心在微服务中是必不可少的一部分,主要用来实现服务自治的功能,本文则主要记载使用Netflix提供的Eureka作为注册中心,来实现服务自治的功能. 实际上Eureka的集群搭建方法很简单:每一台Eureka只需要在配置中指定另外多个Eureke的地址,就可以实现一个集群的搭建了 例如: 两节点 -- 节点1注册到节点2 --节点2注册到节点1 三节点 --节点1注册到节点2,3 --节点2注册到节点1,3 --节点3注册到节点1,2 我做的是两个Eureka节点构建注册中心,然后一个pro…
Spring Cloud简介 Spring Cloud是基于Spring Boot的一套实现微服务架构的生态组件.生态组件中包含Spring Cloud NetFlix,Spring Cloud Feign,Spring Cloud Config,Spring Cloud CloudFoundry,Spring Cloud Bus,Spring Cloud Security,Spring Cloud Stream等生态组件,用于解决微服务架构中的一系列问题.Dubbo等组件也能实现微服务构建,但…
微服务架构: 微服务架构的核心思想是,一个应用是由多个小的.相互独立的.微服务组成,这些服务运行在自己的进程中,开发和发布都没有依赖.不同服务通过一些轻量级交互机制来通信,例如 RPC.HTTP 等,服务可独立扩展伸缩,每个服务定义了明确的边界,不同的服务甚至可以采用不同的编程语言来实现,由独立的团队来维护.简单的来说,一个系统的不同模块转变成不同的服务!而且服务可以使用不同的技术加以实现! 微服务设计 那我们在微服务中应该怎样设计呢.以下是微服务的设计指南: 职责单一原则(Single Res…
接上节继续,注册中心单点肯定是不牢靠的,可以参考下面的方案做成注册中心集群: 弄成3个节点,每个节点向其它节点注册,这样只要集群中有一个节点正常工作即可.为了方便在本机弄出这种效果,我们先修改下host文件 127.0.0.1  localhost server1 server2 server3 相当于给本机ip绑了3个hostname.然后在项目中,创建3个profile,参考下图: application.yml: spring: application: name: eureka-serv…
什么是Eureka?  Eureka是在AWS上定位服务的REST服务. Eureka简单示例,仅作为学习参考 在pom文件引入相关的starter(起步依赖) /*定义使用的spring cloud版本*/ <properties> <spring-cloud.version>Greenwich.SR3</spring-cloud.version> </properties> /**在dependency中引入eureka-server*/ <dep…
源码地址:https://gitee.com/fighter3/eshop-project.git 持续更新中-- 在上一节我们已经完成了Nacos Server的本地部署,这一节我们学习如何将Nacos作为注册中心,管理微服务. 1.注册中心简介 1.1.什么是注册中心 在微服务的体系里,注册中心是最重要的组件之一,我们来简单了解一下什么是注册中心. 注册中心和DNS类似,大家想一想,我们平时访问百度,是访问 www.baidu.com ,还是直接访问ip地址呢? 注册中心就承担了这样一个"名…
Dubbo 介绍 官网:http://dubbo.apache.org/zh-cn/ Github:https://github.com/apache/dubbo 2018 年 2 月 15 日,阿里巴巴的服务治理框架 dubbo 通过投票,顺利成为 Apache 基金会孵化项目. Apache Dubbo 是一款高性能.轻量级的开源 Java RPC 框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现. Dubbo 架构 Dubbo 提供三个核心功能…
前面我们已经学习过 Spring Cloud Config 了: Spring Cloud 系列之 Config 配置中心(一) Spring Cloud 系列之 Config 配置中心(二) Spring Cloud 系列之 Config 配置中心(三) 它提供了配置中心的功能,但是需要配合 git.svn 或外部存储(例如各种数据库),且需要配合 Spring Cloud Bus <Spring Cloud 系列之 Bus 消息总线>实现配置刷新. 前面的课程中我们也学习了 Spring…
微服务当前这么火爆的程度,如果不能学会一种微服务框架技术.怎么能升职加薪,增加简历的筹码?spring cloud 和 Dubbo 需要单独学习.说没有时间?没有精力?要学俩个框架?而Spring Cloud alibaba只需要你学会一个就会拥有俩种微服务治理框架技术.何乐而不为呢?加油吧!骚猿年 ### Sentinel规则 Sentinel 的理念是开发者只需要关注资源的定义,当资源定义成功后可以动态增加各种流控降级规则.Sentinel 提供两种方式修改规则: 通过 API 直接修改 (…
本篇文章为系列文章,未读第一集的同学请猛戳这里: Spring Cloud 系列之 Gateway 服务网关(一) Spring Cloud 系列之 Gateway 服务网关(二) Spring Cloud 系列之 Gateway 服务网关(三) 本篇文章讲解 Gateway 网关如何实现限流.整合Sentinel实现限流以及高可用网关环境搭建. 网关限流 顾名思义,限流就是限制流量,就像你宽带包有 1 个 G 的流量,用完了就没了.通过限流,我们可以很好地控制系统的 QPS,从而达到保护系统的…
本篇文章为系列文章,未读第一集的同学请猛戳这里: Spring Cloud 系列之 Gateway 服务网关(一) Spring Cloud 系列之 Gateway 服务网关(二) 本篇文章讲解 Gateway 网关过滤器和全局过滤器以及自定义过滤器. 过滤器 Spring Cloud Gateway 根据作用范围划分为 GatewayFilter 和 GlobalFilter,二者区别如下: GatewayFilter:网关过滤器,需要通过 spring.cloud.routes.filter…
Spring Cloud Config为服务端和客户端提供了分布式系统的外部化配置支持.配置服务器为各应用的所有环境提供了一个中心化的外部配置.它实现了对服务端和客户端对Spring Environment和PropertySource抽象的映射,所以它除了适用于Spring构建的应用程序,也可以在任何其他语言运行的应用程序中使用.作为一个应用可以通过部署管道来进行测试或者投入生产,我们可以分别为这些环境创建配置,并且在需要迁移环境的时候获取对应环境的配置来运行. 配置服务器默认采用git来存储…
本篇文章为系列文章,未读前几集的同学请猛戳这里: Spring Cloud 系列之 Sleuth 链路追踪(一) Spring Cloud 系列之 Sleuth 链路追踪(二) 本篇文章讲解 Sleuth 如何使用 Elasticsearch.Logstash.Kibana 分析追踪数据. 使用 ELK 分析追踪数据 点击链接观看:ELK 环境准备视频(获取更多请关注公众号「哈喽沃德先生」) ELK 是 elastic 公司提供的一套完整的日志收集以及展示的解决方案,是三个产品的首字母缩写,分别…
### 背景 上一文我们讲到了如何去搭建注册中心,这一次我们讲述如何使用nacos作为注册中心 ### spring-cloud-alibaba-basis 创建基础依赖 首先我们创建一个spring-cloud-alibaba-basis 基础依赖 工程里面制定我们要用到的公用的版本 - spring boot 版本 2.1.7.RELEASE - spring cloud 版本 Greenwich.RELEASE - spring cloud 阿里巴巴的版本 2.1.0.RELEASE -…
Nacos(注册中心) 有关Spring Cloud Alibaba之前写过三篇文章. Spring Cloud Alibaba(1)---入门篇 Spring Cloud Alibaba(2)---RestTemplate微服务项目 Spring Cloud Alibaba(3)---Nacos概述 有关注册中心,之前有写过Eureka注册中心 SpringCloud(3)---Eureka服务注册与发现 前言 有关Nacos客户端的搭建和Nacos的介绍在 Spring Cloud Alib…
背景 上一文我们讲到了如何去搭建注册中心,这一次我们讲述如何使用nacos作为注册中心 spring-cloud-alibaba-basis 创建基础依赖 首先我们创建一个spring-cloud-alibaba-basis 基础依赖 工程里面制定我们要用到的公用的版本 spring boot 版本 2.1.7.RELEASE spring cloud 版本 Greenwich.RELEASE spring cloud 阿里巴巴的版本 2.1.0.RELEASE Spring IO Platfo…
本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Consul 注册中心(一) 本篇文章讲解 Consul 集群环境的搭建. Consul 集群 上图是一个简单的 Consul Cluster 架构,Consul Cluster 有 Server 和 Client 两种角色.不管是 Server 还是 Client,统称为 Agent,Consul Client 是相对无状态的,只负责转发 RPC 到 Server 资源开销很少.Server 是一个有一组扩展功能…