2020
10-08
10-08
SpringCloud 服务注册和消费实现过程
系统架构在没有微服务之前有已经有跨服务调用了,比如ServiceB去调用ServiceA中的服务,传统模式可以直接在ServiceB中写ServiceA中的服务但是这样是写死了的,不够灵活。下图就是传统的调用微服务下的跨系统调用应该是这样的:此时服务的调用应该是分两个步骤的:ServiceB去服务中心拿到ServiceA的地址,如果ServiceA是单机部署,那么这个地址就只有一个,如果ServiceA是集群是集群环境部署,那么发现的地址就是多个。拿到了Serv...
继续阅读 >
我们在做微服务时,有时候需要将微服务做一些限制,比如只能我们自己的服务调用,不能通过浏览器直接调用等。我们可以使用springcloudsleuth,在应用调用微服务时通过Tracer产生一个traceId,并通过request设置到header里面,然后sleuth会将该traceId在整个链路传递,我们在微服务中定义一个拦截器,取到header里面的traceId并和链路中的traceId比较,如果相等,则表明是我们自己的应用调用,拦截器通过,否则这次请求被拦截代码...
什么是SkyWalking查看官网https://skywalking.apache.org/分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。安装进入下载页面https://skywalking.apache.org/zh/downloads/这里用的是ElasticSearch7版本,所以你需要安装完成ElasticSearch7,不再赘述。解压后,可以修改启动端口apache-skywalking-apm-bin-es7/webapp/webapp.yml启动bin/startup.bat打开地址:http:.//lo...
简介该文档主要介绍以Nacos为配置中心,实现SpringCloudGateWay实现动态路由的功能。SpringCloudGateway启动时候,就将路由配置和规则加载到内存里,无法做到不重启网关就可以动态的对应路由的配置和规则进行增加,修改和删除。通过nacos的配置下发的功能可以实现在不重启网关的情况下,实现动态路由。集成SpringCloudGateWay集成spring-cloud-starter-gateway:路由转发、请求过滤(权限校验、限流以及监控等)spring-boot-...
1背景用户本地有一份txt或者csv文件,无论是从业务数据库导出、还是其他途径获取,当需要使用蚂蚁的大数据分析工具进行数据加工、挖掘和共创应用的时候,首先要将本地文件上传至ODPS,普通的小文件通过浏览器上传至服务器,做一层中转便可以实现,但当这份文件非常大到了10GB级别,我们就需要思考另一种形式的技术方案了,也就是本文要阐述的方案。技术要求主要有以下几方面:支持超大数据量、10G级别以上稳定性:除网络异常情况10...
Zuul是什么?Zuul包含了对请求的路由和过滤两个最主要的功能:其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础.Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获得其他微服务的消息,也即以后的访问微服务都是通过Zuul跳转后获得.注意:Zuul服务最终还是会注册...
概述SpringCloudConfig为分布式系统中的外部化配置提供服务器端和客户端支持。使用ConfigServer,您可以在中心位置管理所有环境中应用程序的外部属性。客户端和服务器上的概念都与SpringEnvironment和PropertySource抽象映射相同,因此它们非常适合Spring应用程序,但可以与以任何语言运行的任何应用程序一起使用。在应用程序从开发人员到测试人员再到生产人员的整个部署过程中,您可以管理这些环境之间的配置,并确保应用程序...
一前言经过几篇的cloud系列文章,我想大家都有一个坚实的基础,后续的学习就会轻松很多,如果是刚刚来看的读者需要有eureka基础知识,或者查阅知识追寻者的cloud系列专栏;这篇文章主要讲解如何使用ribbon实现webservice客户端调用,ribbon默认算法实现负载均衡等!二ribbon简介ribbon是一个客户端负载均衡器,其能够整合不同的协议工具进行webserviceAPI调用;主要特色如下:提供可插拔式的负载均衡整合服务发现故障弹性恢...
一前言eureka作为注册中心,其充当着服务注册与发现功能,加载负载均衡;若在项目运行中eureka挂了,那么整个服务整体都会暂停,所以为服务运行的安全性,有必要搭建eureka集群;当其中一个eureka节点挂了,我们还有另外的节点可用;本篇文章的核心是如何在idea上运行eureka集群,和项目部署;需注意的jdk版本是1.8,高于jdk1.8打包部署会出问题,需要引入其他依赖;二eureka-server配置文件改造之前的配置文件如下,这是单个eur...
一前言学习微服务要从基础的架构学起,首先你要有个微服务的概念才能学习对吧!!如果你都不知道啥是微服务,就一头扎进去学习,你自己也觉得自己也学不会对吧。本篇文章主要让大家快速了解基础的架构分格,以便于微服务入门。二单体架构单体架构是传统架构,其发展了几十年,我们今天任然还在用单体架构开发,存在即合理;单体架构也就是通常的表现层跟UI界面交互,业务层写业务逻辑,数据DAO层访问数据库。其部署方式也很简单...
介绍和使用场景1)什么是消息一个事件,需要广播或者单独传递给某个接口2)为什么使用这个配置更新了,但是其他系统不知道是否更新SpringCloud配置中心可参考:https://www.jb51.net/article/182888.htm1.安装RabbitMQ下载地址:http://erlang.org/download/Erlang版本:ErlangOTP21:10.0.1下载地址:https://www.rabbitmq.com/install-windows.htmlRabbitMQ版本:Rabbitmq:3.7.152.访问地址http://127.0.0.1:15672/用户名:gu...
最近学习了一下seata,由于nacos现在也挺火,于是学习了seata注册到nacos,然后集成springcloud1.nacos配置(自行上官网下载)将nacos/conf/nacos-mysql.sql导入自己的数据库2.配置修改nacos/conf/application.propertiesspring.datasource.platform=mysqldb.num=1db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=truedb.user=rootdb.password=1234...