
微服务
文章平均质量分 85
springCloud
风情客家__
简述需要300字以内_(¦3」∠)_
展开
-
Istio 接口耗时统计
Envoy 指标实时监控与告警自动化采集,支持分位数统计依赖 Prometheus 配置访问日志分析故障排查与详细分析记录完整请求上下文日志量大,需结合 ELK 等工具处理VirtualService 超时配置流量治理与超时控制动态调整,无需重启服务需手动定义规则Lazy xDS大规模服务网格减少内存和网络开销需额外组件支持(如 Aeraki)通过以上方法,可全面实现 Istio 环境下的接口耗时统计与性能优化。具体配置可参考。原创 2025-02-12 16:46:32 · 939 阅读 · 0 评论 -
微服务架构拆分的 7 大黄金法则
虽然业务复杂度已经满足了,如果公司此时没有足够的人力(招聘不及时或员工异动比较多),服务最好也不要拆分,拆分会因为人力的不足导致更多的问题,如研发效率大幅下降(一个开发负责与其不匹配数量的服务)。今天,码哥带大家从不同角度来剖析微服务架构设计的 7 大原则,做到合理且正确地拆分出微服务,避免打造一个被人诟病的伪微服务架构大单体,徒增运维和开发成本。变的部分一般是改动比较多的需求、满足业务迭代扩展性需要的功能,我们可以将不变的部分拆分出来,作为共用的服务,将变的部分独立出来满足个性化扩展需要。转载 2024-11-01 13:40:46 · 78 阅读 · 0 评论 -
微服务常见的配置中心简介
这些配置中心的主要目标是实现配置的集中管理和动态更新,以降低系统的复杂性和提高运维效率。选择哪种配置中心通常取决于项目的具体需求、技术栈和团队的经验。统一的配置管理界面,支持多环境、多数据中心配置管理,以及配置修改的灰度发布。原创 2023-12-20 17:32:24 · 1838 阅读 · 1 评论 -
微服务拆分规范
将。系统中的单个微服务可以被独立部署和扩展,且各个微服务之间是高内聚、松耦合的。微服务之间采用通信机制暴露接来实现通信。那么微服务可以怎么拆分呢?转载 2023-06-17 22:13:19 · 465 阅读 · 0 评论 -
微服务网关(零)微服务的选择以及网关的功能
不过对于一个系统来说,有些服务是核心服务而有些服务是非核心服务,对于核心服务来说,即使在系统过载的情况下也不能拒绝对外服务,否则这个系统实际就失去了它原有的价值。这个时候就需要非核心业务为核心业务让路,即在系统过载的时候,非核心服务让出系统资源,即服务降级,保障核心服务能稳定的对外提供服务。网关结合Swagger,将后端的微服务暴露给网关,网关作为统一的入口给接口的使用方提供查看后端服务的API规范,不需要知道每一个后端微服务的Swagger地址,这样网关起到了对后端API聚合的效果。在系统过载的情况下,转载 2023-04-20 10:12:55 · 341 阅读 · 0 评论 -
微服务之服务网关介绍及(Spring Cloud Gateway搭建)
https://www.cnblogs.com/sss4/p/16414983.html微服务的网关=路由转发+过滤器如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用。以上架构,会存在着诸多的问题:我们使用的网关产品为spring-cloud框架提供的gateway;服务网关需要调用服务注册中心(Nacos)获取服务提供者的调用地址;3.创建启动类4.添加配置文件(application.yaml)路由(Route) 是 gateway 中最基本的组件之一,表示一转载 2023-04-20 09:51:44 · 5475 阅读 · 0 评论 -
一键实现自动化部署(灰度发布)实践
一句简单的话概括:部署的过程中所有的操作全部自动化,无需人工手工干预。转载 2023-04-15 13:58:18 · 1702 阅读 · 0 评论 -
API网关选型总结
API网关是一个服务,用于在客户端和后端应用程序之间充当中间层。它可以处理身份验证、授权、监视、路由和转换等任务。API网关还可以提供缓存和限流等功能,以提高系统的性能和稳定性。API网关的主要功能是协调和控制从客户端发送到后端的请求。转载 2023-04-06 15:33:34 · 263 阅读 · 0 评论 -
Skywalking介绍
Skywalking是一个国产的开源框架,2015年有吴晟个人开源,2017年加入Apache孵化器,国人开源的产品,主要开发人员来自于华为,2019年4月17日Apache董事会批准SkyWalking成为顶级项目,支持Java、.Net、NodeJs等探针,数据存储支持Mysql、Elasticsearch等,跟Pinpoint一样采用字节码注入的方式实现代码的无侵入,探针采集数据粒度粗,但性能表现优秀,且对云原生支持,目前增长势头强劲,社区活跃。转载 2023-03-25 12:04:42 · 859 阅读 · 0 评论 -
Spring-Cloud-OpenFeign使用教程
然后我们讲一下@RequestParam,@RequestParam可以用在Post和Get请求中,但是要注意:@RequestParam 的参数只能是基本类型或者Enum,或者List和Map(List和Map里面也只能是基本类型)。@RequestBody的参数可以包括复杂类型。注意:@SpringQueryMap后面的参数只能是普通的POJO,不能是复合类型,否则解析不了。其中@FeignClient中的value是要调用的服务的注册名,即OpenFeignServer在eureka的注册名。转载 2023-02-22 10:55:29 · 296 阅读 · 0 评论 -
Grafana Tempo部署-参考
grafana tempo的诞生完善了grafana traceing体系,实现了grafana apm logging、tracing、metrics最后的一环,相对来说较便捷的集成到了grafana ui中,有点对标elk stack的意思,不过elk stack的链路追踪好像是付费功能。tempo其键值存储实现也决定了其功能的局限性,还不支持链路的完整展示,在查询时必须要先获得traceid才能进行查询,所以只能通过日志打印traceid,然后再根据traceid进行查询从而进行展示。转载 2022-11-09 15:10:13 · 2046 阅读 · 0 评论 -
微服务—链路追踪(Sleuth+Zipkin)
在大型系统的微服务化构建中,一个系统被拆分成了许多模块。这些模块负责不同的功能,组合成系统,最终可以提供丰富的功能。在这种架构中,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。主要功能就是在分布式系统中提供追踪解决方案。它大量借用了Google Dapper的设计, 先来了解一下Sleuth中的术语和相关概念。Zipkin。转载 2022-11-09 12:09:16 · 1028 阅读 · 0 评论 -
Grafana Tempo简介
常见的分布式追踪协议、系统,比较知名的有:Jaeger,Zipkin,OpenCensus 和 OpenTelemetry 等。Grafana Tempo 是一个开放源代码,易于使用的大规模分布式跟踪后端,采用Go 语言实现。Tempo 成本效益高,仅需要对象存储即可运行,并且与 Grafana,Prometheus 和 Loki 深度集成。Tempo 可以与任何开源跟踪协议一起使用,包括 Jaeger,Zipkin 和 OpenTelemetry。转载 2022-11-07 09:18:06 · 2212 阅读 · 0 评论 -
Service Mesh--Istio概述
Isito是Service Mesh的产品化落地,是目前最受欢迎的服务网格,功能丰富、成熟度高。Linkerd是世界上第一个服务网格类的产品。•。转载 2022-11-04 12:16:41 · 343 阅读 · 0 评论 -
Service Mesh 和 Spring Cloud对比
参考:Spring Cloud 相信大家经过这几年带着上述这些问题,在18年的时候不少社区论坛出现了Service网格服务的话题讨论,Service Mesh作为下一代微服务技术的代名词,初出茅庐却深得人心一鸣惊人,大有一统微服务时代的趋势。Service Mesh 网格服务首先改变的是服务间的通信方式为了避免每个服务都需要自己实现一套分布式系统通信的语义功能,随着技术的发展,一些面向微服务架构的开发出现了,如Twitter的、Facebook的。转载 2022-11-04 12:13:28 · 1493 阅读 · 0 评论 -
Service Mesh简介(三)
SeviceMesh是云原生下的微服务治理方案。当我们通过微服务的方式将应用以容器的形式部署在K8S上后,服务之间调用和治理其实有新的方案,可以不需要依赖传统的微服务治理框架。ServiceMesh通过对每个应用在其Pod中启动一个Sidecar(边车)实现对应用的透明代理,所有出入应用的流量都先经过该应用的Sidecar,服务之间的调用转变成了Sidecar之间的调用,服务的治理转变成了对Sidecar的治理。转载 2022-11-04 10:29:07 · 1347 阅读 · 0 评论 -
Service Mesh简介(二)
服务网格(Service Mesh)是一个专门处理服务通讯的基础设施层。它的职责是在由云原生应用组成服务的复杂拓扑结构下进行可靠的请求传送。在实践中,它是一组和应用服务部署在一起的轻量级的网络代理,并且对应用服务透明。服务网格从总体架构上来讲比较简单,不过是一堆紧挨着各项服务的用户代理,外加一组任务管理组件组成。管理组件被称为控制层或控制平面(control plane),负责与控制平面中的代理通信,下发策略和配置。代理在服务网格中被称为数据层或数据平面。转载 2022-11-04 10:14:36 · 725 阅读 · 0 评论 -
Service Mesh简介(一)
参考:Service Mesh介绍,Istio概述/架构_富士康质检员张全蛋的博客-优快云博客_servicemeshService Mesh 的中文译为 “服务网格” ,是一个用于处理服务和服务之间通信的基础设施层,它负责为构建复杂的云原生应用传递可靠的网络请求,并为服务通信实现了微服务所需的基本组件功能,例如服务发现、负载均衡、监控、流量管理、访问控制等。在实践中,服务网格通常实现为一组和应用程序部署在一起的轻量级的网络代理,但对应用程序来说是透明的。右图,绿色方块为应用服务,蓝色方块为 Sideca转载 2022-11-04 10:16:20 · 491 阅读 · 0 评论 -
微服务熔断Hystrix配置
Component@Slf4j@Overridelog.info("======进入熔断处理======");log.info("调用用户服务的更新积分API失败");}@Override}}@Component@Slf4j@Override//打印熔断原因//返回一个工厂类型对象@Overridelog.info("======进入熔断处理======");log.info("调用用户服务的更新积分API失败");}}转载 2022-11-02 18:33:40 · 108 阅读 · 0 评论 -
Open-Feign整合hystrix降级熔断实战记录
熔断时间根据hystrix设置的时间,我这里设置的是5秒。只给两秒的时间,则自动启动熔断。转载 2022-11-02 18:32:27 · 483 阅读 · 0 评论 -
【微服务】SpringCloud-Nacos注册中心
Nacos是SpringCloudAlibaba的组件,而SpringCloudAlibaba也遵循SpringCloud中定义的服务注册、服务发现规范。Nacos中提供了一个NacosRule的实现,可以优先从同集群中挑选实例。nacos中可以有多个namespace,不同namespace之间相互隔离,不同namespace的服务互相不可见。互相访问时,应该尽可能访问同集群实例,因为本地访问速度更快。当本集群内不可用时,才访问其它集群。Nacos就将同一机房内的实例 划分为一个集群。转载 2022-10-14 09:18:51 · 153 阅读 · 0 评论 -
微服务(Spring Cloud)主要组件优缺点对比
结合应用的机器负载、CPU 使用率,整体平均响应时间、入口 QPS 和。结合应用的机器负载、CPU 使用率,整体平均响应时间、入口 QPS 和。线程数等几个维度的监控指标从而决定是否调用进行限流操做。Spring Cloud官方推荐的组件之一。线程数等维度进行限流操做。原创 2022-09-15 13:33:46 · 463 阅读 · 0 评论 -
Soring Cloud -- Resilience4j简介
参考: GitHub - resilience4j/resilience4j: Resilience4j is a fault tolerance library designed for Java8 and functional programming Resilience4j_zhuhuan_Life的博客-优快云博客_resilience4jResilience4j提供了两种舱壁模式的实现,可用于限制并发执行的次数:原创 2022-09-13 10:06:33 · 1215 阅读 · 0 评论 -
云原生优缺点分析
①。围绕云原生空间中的工具和技术的高度标准化降低了部分方面的风险。②。云原生技术非常有利于自动化和软件驱动的操作,这意味着减少工程师进行维护的工作量。③。作为降低风险和维护负担的直接结果,采用云原生可显著降低资本支出(开展业务所需的前期采购)和运营支出(与开展业务相关的持续成本)。④。向基于 Kubernetes 的云原生平台添加安全组件,可为应用程序带来多层外围防御,而无需对应用程序本身进行任何代码更改。⑤。原创 2022-09-02 12:01:55 · 896 阅读 · 0 评论 -
云原生技术简介
什么是“云原生”?云原生该怎么落地?云原生是一条最佳路径或者最佳实践。更详细的说,云原生为用户指定了一条低心智负担的、敏捷的、能够以可扩展、可复制的方式最大化地利用云的能力、发挥云的价值的最佳路径。因此,云原生其实是一套指导进行软件架构设计的思想。按照这样的思想而设计出来的软件:首先,天然就“生在云上,长在云上”;其次,能够最大化地发挥云的能力,使得我们开发的软件和“云”能够天然地集成在一起,发挥出“云”的最大价值。...转载 2022-08-18 17:22:24 · 332 阅读 · 0 评论 -
蓝绿发布、A/B 测试和金丝雀发布的优缺点(互联网产品的3种发布策略)
成熟的互联网产品用户数量庞大,如果采用全量发布的话不论对于开发运维团队有着未知的风险,而且产品以及运营团队也同样面临的用户体验的巨大挑战。目前常见的发布策略有蓝绿发布、金丝雀发布(灰度发布)、AB测试这几种,在国内的开发者中,对这几个概念有独立的理解。蓝绿发布通常被大家成为热部署;金丝雀发布在国内的名头完全被他的变种发布方式盖过了,主要是灰度发布与AB测试,下面来详细的为大家解释一下............转载 2018-05-23 17:04:00 · 3260 阅读 · 0 评论 -
springcloud之sentinel
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel是面向分布式服务架构的轻量级流量控制产品,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助您保护服务的稳定性。回到顶部。...转载 2022-07-23 14:51:58 · 351 阅读 · 0 评论 -
feign和openfeign的区别
feign openfeign原创 2022-07-19 16:29:32 · 12972 阅读 · 1 评论 -
微服务分布式事务介绍
参考文章: 微服务分布式事务处理 - 简书亿级流量架构之分布式事务解决方案对比 - JavaShuoTXC分布式事务简介_浮生忆梦的博客-优快云博客_txc是什么意思微服务架构下分布式事务解决方案 —— 阿里GTS-蒲公英云SpringCloud Alibaba微服务实战七 - 分布式事务_AlbenXie的博客-优快云博客_springcloudalibaba 分布式事务Seata源码解析8——GlobalTransactional注解_野生的程序员的博客-优快云博客_globaltr原创 2022-07-12 13:02:17 · 877 阅读 · 0 评论 -
SpringCloud停更服务一览表
参考文章:SpringCloud组件的停更和替换说明SpringCloud的Hoxton版本,和之前的版本相比,用新的组件替换掉了原来大部分的组件,老的组件现在处于停更不停用的状况。详情见下图(×的表示之前的组件,现在停更了的;√的表示新的替换后的组件):描述:服务注册中心:Eureka:官方停止更新,并且已经有更好的替代产品了,可以使用,但是官方已经不建议使用了(重度患者)。 Zookeeper:某些老系统,以前是用的Zookeeper + Dubbo,后来做技术升级,.....原创 2021-04-02 17:18:08 · 3594 阅读 · 0 评论 -
springcloud四个注册中心的比较
参考文章:springcloud四个注册中心的比较一、概述springcloud是一个非常优秀的微服务框架,要管理众多的服务,就需要对这些服务进行治理,也就是我们说的服务治理,服务治理的作用就是在传统的rpc远程调用框架中,管理每个服务与每个服务之间的依赖关系,可以实现服务调用、负载均衡、服务容错、以及服务的注册与发现。 如果微服务之间存在调用依赖,就需要得到目标服务的服务地址,也就是微服务治理的服务发现。要完成服务发现,就需要将服务信息存储到某个载体,载体本身即是微服务治理的服务注册中心,而存转载 2021-04-02 17:09:32 · 455 阅读 · 0 评论 -
springcloud --- 服务熔断、降级、限流--之--Hystrix-服务降级
参考文章:springcloud----服务熔断、降级、限流--之--Hystrix-服务降级服务降级、服务熔断、服务限流、服务隔离分布式面临的问题:负责的分布式体系结构中应用程序有数十个依赖 ,可能会形成调用链(一个阻塞,全体等待) , 引起服务雪崩Hystrix是一个用于处理分布式系统的延迟和容错的开源库, 在分布式系统中,许多不可避免的调用会失败, 比如超时,一场等。Hystrix 能够保证在一个依赖出现问题的情况下,不会导致整体服务的失败、避免级联故障、以提高分布式系统的弹性。.转载 2020-08-06 17:07:37 · 347 阅读 · 0 评论 -
SpringBoot 之 脱离Eureka使用Ribbon
pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.o原创 2020-07-06 17:19:42 · 1122 阅读 · 0 评论 -
spring-session和redis解决spring cloud中session不一致性问题
现在都比较流行使用spring boot来进行开发,使用spring cloud来搭建分布式。在搭建的时候会涉及到一个关键的问题,session统一的问题。使用zuul作为网关转发来调用其他模块,zuul中的session和其他模块的session会不一致,同时如果是前后端分离,还存在跨域的问题下面会给出解决的方法。这样会导致用户登入时候,没法保存用户的信息,session会存在问题。解决的办法采...转载 2018-05-17 14:55:15 · 3893 阅读 · 2 评论 -
SpringCloud微服务架构分布式组件如何共享session对象
参考文章: https://www.cnblogs.com/fengli9998/p/7881331.htmlhttps://blog.youkuaiyun.com/dsen726/article/details/80880458一.简单做一个背景说明1.为说明问题,本文简单微服务架构示例如下2.组件说明分布式架构,每个组件都是集群或者主备。具体说明如下:zuul service:网关,...转载 2018-05-17 14:59:32 · 18788 阅读 · 8 评论 -
Spring Cloud 负载均衡器 Ribbon原理及实现
Ribbon简介分布式系统中,各个微服务会部署多个实例,如何将服务消费者均匀分摊到多个服务提供者实例上,就要使用到负载均衡器Ribbon 是负载均衡器 ,它提供了很多负载均衡算法,例如轮询、随即等,在配置服务提供者地址后,可以将服务消费者请求均匀的分发为服务消费者整合Ribbon添加 Ribbon 依赖库?1234<dependency> <groupId>org.spr...转载 2018-05-17 17:30:42 · 10832 阅读 · 3 评论 -
Ribbon实现客户端负载均衡
前面文章中已经将服务注册到了Eureka,但是还没有解决请求地址硬编码和负载均衡的问题。 这边文章,我们讲述使用Ribbon完成请求以及负载均衡。让电影微服务调用用户微服务的时候,解决请求地址和端口的硬编码 实现负载均衡 1.服务器端负载均衡:使用Nginx,由Nginx完成反向代理,实现负载均衡。 2.客户端负载均衡:电影微服务中有某个组件(Ribbon),可以知道有多少个可用的...转载 2018-05-17 17:33:00 · 869 阅读 · 0 评论 -
IDEA新建项目时,没有Spring Initializr选项
最近开始使用IDEA作为开发工具,然后也是打算开始学习使用spring boot。看着博客来进行操作上手spring boot,很多都是说创建一个新项目(Create New Project)选择 Spring Initializr。然而我发现我的IDEA上面没有Spring Initializr这个选项。解决办法如下:在settings -> Plugins 里面搜索spring boot...转载 2018-05-17 19:44:39 · 1278 阅读 · 0 评论 -
spring boot: Whitelabel Error Page的解决方案
运行起来没报错,但是打开浏览器输入地址http://localhost:8080/greeting出现以下页面检查地址没问题,核对jar包也正确。google,有说少jar包,按照回答添加以后也无济于事。折腾了一会找到了原因竟然时目录文件结构问题,最后附上官网说明http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/ht...转载 2018-05-18 18:15:43 · 5995 阅读 · 0 评论 -
微服务示例-Spring Cloud
1~开发准备 JDK:1.8 Spring Boot:1.5.9.RELEASE Spring Coud:Edgware.RELEASE IDE:IntelliJ IDEA 2017 Maven:3.3.92~创建服务注册中心 File->New->Projects->Spring Initializr 点击Next,填写信息如下:然后点击Next,选择如下:点击Ne...转载 2018-05-18 18:18:14 · 260 阅读 · 0 评论