Microservice
文章平均质量分 79
微服务相关介绍
奶茶37.2℃
海纳百川有容乃大
展开
-
20.SkyWalking
SkyWalking用于应用性能监控、分布式链路跟踪、诊断原创 2024-05-26 17:32:15 · 281 阅读 · 0 评论 -
19.Seata 分布式事务
简介Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。整体机制两阶段提交协议的演变:一阶段:业务数据和回滚日志记录在同一个本地事务中提交,释放本地锁和连接资源。二阶段:提交异步化,非常快速地完成。回滚通过一阶段的回滚日志进行反向补偿。Seata 术语TC (Transaction Coordinator) - 事务协调者维护全局和分支事务的状态,原创 2020-12-29 19:56:31 · 778 阅读 · 0 评论 -
18.SpringCloud Gateway
SpringCloud Gateway是spingcloud家族的产品,使用netty实现的高性能服务网关,用于替换netflix公司的zuul网关实现。原创 2024-05-19 18:30:05 · 321 阅读 · 0 评论 -
17.Sentinel动态规则
简介Sentinel 的理念是开发者只需要关注资源的定义,当资源定义成功后可以动态增加各种流控降级规则。Sentinel 流控规则在服务重启后将丢失配置的规则,更多时候我们希望规则存储在文件、数据库或者配置中心中。Sentinel DataSource 扩展方式:拉模式:客户端主动向某个规则管理中心定期轮询拉取规则,这个规则中心可以是 RDBMS、文件,甚至是 VCS 等。这样做的方式是简单,缺点是无法及时获取变更;推模式:规则中心统一推送,客户端通过注册监听器的方式时刻监听变化,比如使用 Nac原创 2020-12-26 16:41:20 · 416 阅读 · 1 评论 -
16.Sentinel整合Openfeign
简介Openfeign 实现远程接口映射,与Sentinel整合同Hystrix 整合非常类似,只需要在配置文件中启用feign.sentinel.enabled=true 即可开启Openfeign与Sentinel熔断处理。实现原创 2020-12-26 15:21:13 · 968 阅读 · 1 评论 -
15.@SentinelResource定义资源
简介Sentinel 提供了 @SentinelResource 注解用于定义资源,并提供了 AspectJ 的扩展用于自动定义资源、处理 BlockException 等。原创 2020-12-24 22:38:49 · 324 阅读 · 3 评论 -
14.Sentinel流控
简介Sentinel 是阿里基于Java 开发的分布式流控防护组件。从限流、熔断降级、系统负载保护、热点防护等多个维度保障微服务的稳定性。微服务可以轻松整合Sentinel实现流控、服务监控,Sentinel 可以简单的分为 Sentinel 核心库和 Dashboard。核心库不依赖 Dashboard,但是结合 Dashboard 可以取得最好的效果。Sentinel服务端也是基于SpringBoot 开发,下载后java -jar xxxx.java 运行即启动Sentinel服务端。资源是Se原创 2020-12-22 21:47:12 · 291 阅读 · 1 评论 -
13.Nacos 服务配置
简介Nacos 提供了方便的服务配置功能,相较与spring-cloud-starter-config-server 还需要建立服务配置服务端,Nacos 本身就拥有服务配置功能,对微服务开发者更是友好。Nacos 官网dataId 说明:配置文件=spring.application.name−{spring.application.name}-spring.application.name−{spring.profiles.active}-{.properties | .yml | .yaml}原创 2020-12-19 22:32:24 · 602 阅读 · 1 评论 -
12.Nacos 服务注册
Nacos是阿里基于Java 实现动态服务发现、服务配置、服务元数据及流量管理的的服务端。原创 2020-12-19 18:01:05 · 267 阅读 · 1 评论 -
11.SpringCloud升级 & Spring-Cloud-Alibaba
一.简介SpringCloud 作为微服务的集大成者,借鉴和吸收了许多开源优秀的框架,尤其是Netflix 公司的Eureka、Ribbon、Feign、Hystrix、Zuul组件。但是由于一些Netflix公司内部原因导致很多组件都进入停更维护阶段,导致SpringCloud 不得不自己开发/吸收一些新的组件替换原有功能。二.组件图谱红色标注表示停更或进入维护阶段(即只修复部分严重bug),阿里的Nacos也整合到SpringCloud 中,Nacos经受双十一的严禁考验,在国内也非常受欢迎。有了原创 2020-12-19 16:01:34 · 503 阅读 · 1 评论 -
10.SpringCloudSleuth
一.简介微服务之间通过网络通信,服务之间的调用形成调用链路。在服务调用链上如何快速定位服务业务处理速度变慢、服务变为环形调用等。SpringCloud提供了Sleuth 可以实现微服务的调用跟踪,形成调用线路。Sleuth 采集调用链路上的信息以Span描述,一个Span包含4个部分:-CS(Client Sent 客户端发送):客户端发起请求,表示请求开始;-SR(Server Received 服务器接收):服务器获取客户端请求,SR-CS 表示网络延迟;-SS(Server Sent 服务端原创 2020-12-13 16:14:13 · 157 阅读 · 1 评论 -
09.SpringCloudStream
一.简介消息中间件对于服务解耦、流量削峰、消息延迟都是非常常用的技术手段。各种消息中间件支持的协议、使用方式各有不同,对于整合多种消息中间件将非常繁琐。SpringCloudStream通过增加绑定器中间层,隔离消息中间件与应用程序的耦合,通过向应用程序暴露统一的Channel通道,使应用程序不需要考虑不同的消息中间件。SpringCloudStream架构:二.实现三.总结...原创 2020-12-12 18:09:15 · 246 阅读 · 2 评论 -
08.SpringCloud之Bus
一.简介SpringCloudBus是SpringCloud的消息总线,通过消息组件代理各个连接分布点,当配置文件发生变化后可以通过SpringCloudBus实现配置信息动态抓取,实现配置项的动态更新。二.实现1.SpringCloudConfigServer和需要动态抓取配置的服务都增加依赖库<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spr原创 2020-09-18 00:08:07 · 471 阅读 · 1 评论 -
07.SpringCloud之SpringCloudConfig
一.简介SpringCloudConfig是微服务的配置中心,使用git/svn 作为版本管理工具管理配置文件,这样所有的微服务都通过SpringCloudConfig微服务动态获取配置信息。SpringCloudConfig 微服务注册到Eureka中,而后所有微服务都从SpringCloudConfig微服务中获取配置。二.SpringCloudConfig微服务端1.编写服务端配置文件并推送到gitserver: port: 8001 context-path: /service-u原创 2020-09-07 15:00:32 · 316 阅读 · 1 评论 -
06.SpringCloud之Zuul路由网关
一.简介Zuul实现的是路由网关微服务,所有路由网关微服务都需要注册到注册中心。Zuul网关路由微服务代理客户端访问微服务,即消费端不直接访问微服务,而是访问路由网关微服务,这样可以在消费端与微服务之间构建过滤、认证操作。二.流程1.新建zuul网关微服务模块<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-we原创 2020-09-06 17:39:02 · 281 阅读 · 0 评论 -
05.SpringCloud之Hystrix熔断器
一.简介微服务运行过程中常需要对微服务进行监控,Hystrix提供了服务监控功能。二.HystrixDashboard 监控1.微服务端引入hystrix 和 actuator<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId></d原创 2020-09-06 15:26:38 · 306 阅读 · 1 评论 -
04.SpringCloud之Feign远程接口映射
一.简介SpringCloud是基于Restful的远程调用框架,引入Ribbon负载均衡组件后还需要客户端使用RestTemplate调用远程接口,操作起来还显得繁琐。SpringCloud提供了远程接口映射,将远程Restful服务映射为远程接口,消费端注入远程接口即可实现方法调用。二.流程1.新建远程接口映射模块service-api,并引入Feign接口映射依赖 <dependencies> <dependency> <groupId&g原创 2020-09-06 11:41:57 · 1960 阅读 · 3 评论 -
03.SpringCloud之Ribbon负载均衡组件
一.简介Ribbon的主要作用是进行Eureka中服务调用,微服务注册到Eureka中后,Ribbon通过服务名称即可进行服务调用,屏蔽了多主机微服务的ip地址和端口。使用Ribbon需要引入如下依赖:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-ribbon</artifactId原创 2020-09-05 19:33:29 · 204 阅读 · 0 评论 -
02.SpringCloud之Eureka
一.简介RestTemplate 访问服务端时需要明确服务端地址,在服务端宕机、地址变化后则需要大量修改。微服务中使用注册中心对所有微服务管理,微服务启动后把自己注册到注册中心,注册中心以统一的方式暴露服务。二.定义Eureka服务端1.统一定义依赖模块<groupId>com.vincent</groupId><artifactId>demo</artifactId><packaging>pom</packaging>&原创 2020-09-05 17:45:41 · 454 阅读 · 1 评论 -
01.SpringCloud 简介
一.简介原创 2020-09-05 15:32:24 · 230 阅读 · 0 评论 -
微服务简介
一.起源单体应用:传统软件把所有功能模块放在单一进程中,并通过复制这个单体应用到不同的服务器以实现扩展,通过DNS服务器配置域名——服务器ip地址实现网络层负载均衡(域名解析时一个域名配置多个服务器ip地址,DNS服务器会从中选取一台服务器ip地址返回)、Nginx软件负载均衡。单体应用的开发、测试、维护耦合性都比较强。修改软件时都需要重新部署整个应用,扩展性比较差。微服务:微服务需要以SOA(面向服务)思考方式设计软件,将每一个功能模块分别放进到一个独立的服务中。每个功能模块都可以独立开发、测试原创 2020-09-05 15:20:28 · 322 阅读 · 0 评论