随笔分类 -  微服务专题

微服务相关组件
摘要:注册中心的作用: 不同的微服务如何维护复杂的调用关系? //服务之间通过RestTemplate调用,url写死 String url = "http://localhost:8020/order/findOrderByUserId/"+id; R result = restTemplate.get 阅读全文
posted @ 2023-04-19 21:00 1640808365 阅读(31) 评论(0) 推荐(0) 编辑
摘要:(1) 引入依赖 Apollo的客户端jar包已经上传到中央仓库,应用在实际使用时只需要按照如下方式引入即可。 <dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</artifact 阅读全文
posted @ 2021-07-29 16:23 1640808365 阅读(104) 评论(0) 推荐(0) 编辑
摘要:环境要求 Java Apollo服务端:1.8+ Apollo客户端:1.7+ 由于需要同时运行服务端和客户端,所以建议安装Java 1.8+。 MySQL 版本要求:5.6.5+ Apollo的表结构对 timestamp 使用了多个default声明,所以需要5.6.5以上版本 环境搭建 (1) 阅读全文
posted @ 2021-07-29 16:19 1640808365 阅读(228) 评论(0) 推荐(0) 编辑
摘要:Apollo概述 Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。 正是基于配置的特殊性,所以Apollo从设计之初就立志于成为一个有治理能力的配置发布平台,目前提供了以下的特 阅读全文
posted @ 2021-07-29 16:13 1640808365 阅读(799) 评论(0) 推荐(0) 编辑
摘要:在微服务架构中,通常会使用轻量级的消息代理来构建一个共用的消息主题来连接各个微服务实例,它广播的消息会被所有在注册中心的微服务实例监听和消费,也称消息总线。 SpringCloud中也有对应的解决方案,SpringCloud Bus 将分布式的节点用轻量的消息代理连接起来,可以很容易搭建消息总线,配 阅读全文
posted @ 2021-07-29 16:01 1640808365 阅读(167) 评论(0) 推荐(0) 编辑
摘要:在之前的代码中,客户端都是直接调用配置中心的server端来获取配置文件信息。这样就存在了一个问题,客户端和服务端的耦合性太高,如果server端要做集群,客户端只能通过原始的方式来路由,server端改变IP地址的时候,客户端也需要修改配置,不符合springcloud服务治理的理念。spring 阅读全文
posted @ 2021-07-29 15:56 1640808365 阅读(88) 评论(0) 推荐(0) 编辑
摘要:准备工作 Confifig Server是一个可横向扩展、集中式的配置服务器,它用于集中管理应用程序各个环境下的配置,默认使用Git存储配置文件内容,也可以使用SVN存储,或者是本地文件存储。这里使用git作为学习的环境 使用GitHub时,国内的用户经常遇到的问题是访问速度太慢,有时候还会出现无法 阅读全文
posted @ 2021-07-29 15:42 1640808365 阅读(78) 评论(0) 推荐(0) 编辑
摘要:对于传统的单体应用而言,常使用配置文件来管理所有配置,比如SpringBoot的application.yml文件,但是在微服务架构中全部手动修改的话很麻烦而且不易维护。微服务的配置管理一般有以下需求: 集中配置管理,一个微服务架构中可能有成百上千个微服务,所以集中配置管理是很重要的。 不同环境不同 阅读全文
posted @ 2021-07-29 15:33 1640808365 阅读(788) 评论(0) 推荐(0) 编辑
摘要:消息分组 通常在生产环境,我们的每个服务都不会以单节点的方式运行在生产环境,当同一个服务启动多个实例的时候,这些实例都会绑定到同一个消息通道的目标主题(Topic)上。默认情况下,当生产者发出一条消息到绑定通道上,这条消息会产生多个副本被每个消费者实例接收和处理,但是有些业务场景之下,我们希望生产者 阅读全文
posted @ 2021-07-29 15:28 1640808365 阅读(249) 评论(0) 推荐(0) 编辑
摘要:Spring Cloud Stream 内置了两种接口,分别定义了 binding 为 “input” 的输入流,和 “output” 的输出流,而在我们实际使用中,往往是需要定义各种输入输出流。使用方法也很简单。 interface OrderProcessor { String INPUT_OR 阅读全文
posted @ 2021-07-29 15:23 1640808365 阅读(63) 评论(0) 推荐(0) 编辑
摘要:准备工作 案例中通过rabbitMQ作为消息中间件,完成SpringCloud Stream的案例。需要自行安装 消息生产者 /** * 入门案例: * 1.引入依赖 * 2.配置application.yml文件 * 3.发送消息的话,定义一个通道接口,通过接口中内置的messagechannel 阅读全文
posted @ 2021-07-29 15:21 1640808365 阅读(50) 评论(0) 推荐(0) 编辑
摘要:在实际的企业开发中,消息中间件是至关重要的组件之一。消息中间件主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。不同的中间件其实现方式,内部结构是不一样的。如常见的RabbitMQ和Kafka,由于这两个消息中间件的架构上的不同,像RabbitMQ有exchan 阅读全文
posted @ 2021-07-29 15:11 1640808365 阅读(382) 评论(0) 推荐(0) 编辑
摘要:Zipkin Server默认时间追踪数据信息保存到内存,这种方式不适合生产环境。因为一旦Service关闭重启或者服务崩溃,就会导致历史数据消失。Zipkin支持将追踪数据持久化到mysql数据库或者存储到elasticsearch中。这里已mysql为例。 准备数据库 可以从官网找到Zipkin 阅读全文
posted @ 2021-07-29 15:05 1640808365 阅读(62) 评论(0) 推荐(0) 编辑
摘要:在默认情况下,Zipkin客户端和Server之间是使用HTTP请求的方式进行通信(即同步的请求方式),在网络波动,Server端异常等情况下可能存在信息收集不及时的问题。Zipkin支持与rabbitMQ整合完成异步消息传输。 加了MQ之后,通信过程如下图所示: RabbitMQ的安装与启动: w 阅读全文
posted @ 2021-07-29 15:00 1640808365 阅读(127) 评论(0) 推荐(0) 编辑
摘要:通过查看日志分析微服务的调用链路并不是一个很直观的方案,结合zipkin可以很直观地显示微服务之间的调用关系。 (1)客户端添加依赖: 客户端指的是需要被追踪的微服务 <dependency> <groupId>org.springframework.cloud</groupId> <artifac 阅读全文
posted @ 2021-07-29 14:52 1640808365 阅读(293) 评论(0) 推荐(0) 编辑
摘要:(1) Zipkin Server下载 从spring boot 2.0开始,官方就不再支持使用自建Zipkin Server的方式进行服务链路追踪,而是直接提供了编译好的 jar 包来给我们使用。可以从官方网站下载先下载Zipkin的web UI,我们这里下载的是zipkin-server-2.1 阅读全文
posted @ 2021-07-29 14:48 1640808365 阅读(1372) 评论(0) 推荐(0) 编辑
摘要:Zipkin 是 Twitter 的一个开源项目,它基于 Google Dapper 实现,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现。 我们可以使用它来收集各个服务器上请求链路的跟踪数据,并通过它提供的 REST API 接口来辅助我们查询跟踪数据以 阅读全文
posted @ 2021-07-29 14:46 1640808365 阅读(451) 评论(0) 推荐(0) 编辑
摘要:接下来通过之前的项目案例整合Sleuth,完成入门案例的编写 (1) 配置依赖 修改微服务工程引入Sleuth依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-s 阅读全文
posted @ 2021-07-29 14:43 1640808365 阅读(93) 评论(0) 推荐(0) 编辑
摘要:微服务架构下的问题 在大型系统的微服务化构建中,一个系统会被拆分成许多模块。这些模块负责不同的功能,组合成系统,最终可以提供丰富的功能。在这种架构中,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了 阅读全文
posted @ 2021-07-29 14:39 1640808365 阅读(152) 评论(0) 推荐(0) 编辑
摘要:Spring Cloud Gateway 核心处理流程如上图所示,Gateway的客户端向 Spring Cloud Gateway 发送请求,请求首先被 HttpWebHandlerAdapter 进行提取组装成网关上下文,然后网关的上下文会传递到 DispatcherHandler 。 Disp 阅读全文
posted @ 2021-07-29 14:22 1640808365 阅读(66) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
主题色彩