
微服务
文章平均质量分 83
记录微服务的学习过程。总结巩固学习成果
昵称无限重复
目前失业,有需要信创经验。密码学相关开发经验的请联系我。
展开
-
seata分布式事务(与dubbo集成)
AT 模式是 Seata 创新的一种非侵入式的分布式事务解决方案,Seata 在内部做了对数据库操作的代理层,我们使用 Seata AT 模式时,实际上用的是 Seata 自带的数据源代理 DataSourceProxy,Seata 在这层代理中加入了很多逻辑,比如插入回滚 undo_log 日志,检查全局锁等。本文中,我们将重点介绍 Seata AT 模式的使用,如果您对于 AT 模式原理感兴趣。原创 2024-01-09 17:20:03 · 1757 阅读 · 0 评论 -
dubbo的springboot集成
Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力, 利用 Dubbo 提供的丰富服务治理特性,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。Dubbo 被设计为高度可扩展,用户可以方便的实现流量拦截、选址的各种定制逻辑。原创 2024-01-09 13:25:58 · 1829 阅读 · 0 评论 -
sentinel-集群流量控制
(因网上大多数案例都是从官网抄的,看的特别费劲,所以学习完了以后特意整理了一个自己的案例,介绍和理论的东西还是要从官网抄,描述的很好,很精辟)为什么要使用集群流控呢?假设我们希望给某个用户限制调用某个 API 的总 QPS 为 50,但机器数可能很多(比如有 100 台)。这时候我们很自然地就想到,找一个 server 来专门来统计总的调用量,其它的实例都与这台 server 通信来判断是否可以调用。这就是最基础的集群流控的方式。另外集群流控还可以解决流量不均匀导致总体限流效果不佳的问题。原创 2023-12-20 19:04:49 · 2097 阅读 · 0 评论 -
sentinel-单机流量控制
Sentinel被称为分布式系统的流量防卫兵,是阿里开源流控框架,从服务限流、降级、熔断等多个维度保护服务。原创 2023-12-20 15:47:04 · 1154 阅读 · 0 评论 -
redis详解
缓存穿透是指用户查询数据,在数据库中没有,自然在缓存中也没有。redis本质上是一个key/value类型的数据库,每个key都是字符串类型。指一个存在的热点key,同时接收大量的请求,一旦失效,则请求会直接请求数据库,导致数据库压力骤增。服务器重启后缓存数据清空,大量请求会直接查询数据库,造成缓存雪崩。禁用以上命令的具体做法为,修改redis.conf,在SECURITY项中,增加以下命令来实现禁用危险命令。缓存雪崩是指在某一段时间,大量缓存失效,导致大量的请求直接请求数据库。3.列表list类型。原创 2023-08-18 15:03:41 · 452 阅读 · 1 评论 -
springCloud之熔断降级
熔断降级是通过对服务之间的依赖关系进行管理来实现的。当一个服务调用另一个服务时,如果被调用的服务出现故障或响应时间过长,调用方可以使用熔断器来中断对该服务的调用,从而避免整个系统的瘫痪。原创 2023-07-14 11:04:36 · 331 阅读 · 1 评论 -
springCloud之服务发现与注册(nacos)
将一个大的项目拆分为多个小服务,服务拆分的颗粒度应按照业务需求,例如模块的读写频率,耦合度等。将服务统一交由nacos管理,可对性能有要求的服务做集群部署。当然服务太多也会影响维护,后续还需要学习Docker容器、K8s容器编排技术、服务的链路跟踪等。来保证服务的可持续运行及维护。启动后访问:http://localhost:8080/ca/echo/2023,即可得到服务提供方接口的返回结果。完成以上代码后,启动服务,可在nacos的服务管理--->服务列表菜单中看到该服务。添加需要依赖的jar包。原创 2023-07-13 12:01:28 · 295 阅读 · 1 评论 -
springCloud之配置中心(nacos的配置管理)
配置可供多个服务使用,修改也只需修改一次即可,应用场景:多个服务连接的数据库相同,数据库配置只需改一次即可配置的热加载,修改后,无需重启服务就可以读取到修改后的数据。应用场景:如电商,遇到活动,修改配置参数至最大,提升服务性能。活动结束后,可修改配置回收部分硬件资源,用于其他使用,节省成本。原创 2023-07-12 11:26:36 · 949 阅读 · 1 评论