微服务
文章平均质量分 64
SpringCloud
梁云亮
电 话:13264494458
微 信:13264494458
扣 扣:369950806
展开
-
nacos2.2.3 删除永久实例
临时实例和永久实例最大的区别是健康检查的方式:临时实例使用客户端主动上报的健康检查模式,而永久实例使用服务端反向探测的模式。也就是说,如果是临时实例,那么客户端需要主动上报自己的健康状况,而永久实例需要 Nacos 服务器端反向探测实例的健康状况。在这两种实例中,临时实例是可以自动删除非健康实例的,并且当所有的临时实例被删除之后,Nacos 中的服务也会被自动删除。但对于持久化实例来说,即使是非健康状态,也不会自动删除实例和服务,这个时候就需要我们手动删除服务了。在nacos2.2.3中删除非临时性实例。原创 2023-08-09 11:38:50 · 877 阅读 · 0 评论 -
nacos2.2.3 开启密码配置
自定义密钥时,推荐将配置项设置为Base64编码的字符串,且原始密钥长度不得低于32字符,nacos.core.auth.server.identity.key和nacos.core.auth.server.identity.value必须要有值。在nacos2.2.3中,默认是不需要登录的,这样会导致配置中心对外直接暴露。下面我们会配置用户名密码并且更改密码的方式来使用nacos。修改nacos安装程序conf目录下的application.properties文件。配置完成后,再次启动就可以了。原创 2023-08-09 10:31:15 · 17702 阅读 · 4 评论 -
分布式事务中间件 Seata 理论详解
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。Seata 的设计思路是将一个分布式事务理解成一个全局事务,下面挂了若干个分支事务,而一个分支事务是一个满足 ACID 的本地事务,因此我们可以像操作本地事务一样操作分布式事务。Seata 内部定义了 3 个模块来处理全局事务和分支事务。原创 2023-02-02 23:38:55 · 494 阅读 · 0 评论 -
采用消息中间件实现最终一致性的分布式事务
基于可靠消息服务的方案是通过消息中间件保证上下游应用数据操作的一致性。假设有A和B两个系统,分别可以处理任务A和任务B。此时存在一个业务流程,需要将任务A和任务B在同一个事务中处理。就可以使用消息中间件来实现这种分布式事务。原创 2023-02-02 22:47:25 · 1076 阅读 · 0 评论 -
分布式事务2种协议 及 4种模式
在一阶段,Seata 会拦截“业务 SQL”,首先解析 SQL 语义,找到“业务 SQL”要更新的业务数据,在业务数据被更新前,将其保存成“before image”,然后执行“业务 SQL”更新业务数据,在业务数据更新之后,再将其保存成“after image”,最后生成行锁。在执行Prepare步骤过程中,如果某些参与者执行事务失败、宕机或与协调者之间的网络中断,那么协调者就无法收到所有参与者的YES响应,或者某个参与者返回了No响应此时,协调者就会进入回退流程,对事务进行回退。原创 2023-02-02 22:20:50 · 1660 阅读 · 0 评论 -
【精品】seata综合示例:订单-库存-扣款
当用户下单时,会在订单服务中创建一个订单,然后通过远程调用库存服务来扣减下单商品的库存;微服务中使用alibaba的seata技术实现全局事务控制只需要在相应的Service实现类中添加@GlobalTransactional注解就可以了。post方式请求:http://localhost:3001/seata/account/decrease?:上面配置中的group和nampespace都是在Nacos中创建命名空间时创建的。可以看出:该操作需要跨域三个数据库,有两次远程调用,需要用到分布式事务技术。原创 2022-10-17 14:44:26 · 1188 阅读 · 3 评论 -
【精品】windows下JDK1.8+MySQL8.X 安装运行 Seata1.5.2
网上看到了很多seata的讲解,就我搜到的内容来看:要么是版本太低,要么是前置条件没有交待清楚,要么是讲解的不清不楚,为了节省同学们学习摸索的时间,所以写了该篇博客。原创 2022-10-15 09:09:12 · 1231 阅读 · 0 评论 -
Sentinel整合OpenFeign对远程调用限流并降级
Sentinel整合Feign对远程调用限流并降级。原创 2022-10-14 11:09:44 · 1131 阅读 · 0 评论 -
Sentinel 兜底方法
使用资源流限流,不要使用url限流。因为URL限流只会调用默认的方法,只有资源名限流,自定义兜底方法才能起作用。高频访问fun3结果:控制器请求方法建议限流无则+测试,同方法一原创 2022-10-13 10:24:36 · 602 阅读 · 0 评论 -
Nacos简介及安装
Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。原创 2022-10-12 11:18:34 · 438 阅读 · 0 评论 -
OpenFeign3入门
OpenFeign 是 Spring Cloud 家族的一个成员, 它最核心的作用是为 HTTP 形式的 Rest API 提供了非常简洁高效的 RPC 调用方式。原创 2022-10-12 10:45:23 · 331 阅读 · 0 评论 -
Spring Cloud LoadBalancer is currently working with the default cache. You can switch to using Caffe
【代码】Spring Cloud LoadBalancer is currently working with the default cache. You can switch to using Caffe。原创 2022-09-26 23:08:08 · 2052 阅读 · 0 评论 -
雪花算法详解
雪花算法最终产生的是一个long型 64 比特位的值,第一位未使用。原创 2022-09-26 15:36:28 · 232 阅读 · 0 评论 -
mysql 中replace into语法
这个replace into和insert类似,不同点在于:replace into首先尝试插入数据列表中,如果发现表中已经有此行数据(根据主键或者唯一索引判断),则先删除旧数据再插入,否则直接插入新数据。在分布式中,数据自增ID机制的原理:数据库自增ID是通过MySQL的replace into实现的。多次执行replace into语句,再次查看表中的数据,发现id增加了。再次执行第5步中的replace into语句。注意:字段name唯一。而查看表中的数据只有两条。原创 2022-09-26 13:09:41 · 699 阅读 · 0 评论 -
cap原则
换句话说,分区容忍性是站在分布式系统的角度,对访问本系统的客户端的再一种承诺:我会一直运行,不管我的内部出现何种数据同步问题,强调的是不挂掉。对于客户端的每次读操作,要么读到的是最新的数据,要么读取失败。换句话说,一致性是站在分布式系统的角度,对访问本系统的客户端的一种承诺:要么我给您返回一个错误,要么我给你返回绝对一致的最新数据,不难看出,其强调的是数据正确。换句话说,可用性是站在分布式系统的角度,对访问本系统的客户的另一种承诺:我一定会给您返回数据,不会给你返回错误,但不保证数据最新,强调的是不出错。.原创 2022-08-29 23:12:00 · 184 阅读 · 0 评论 -
consul报错:consul at least one health check on one instance is failing
【代码】consul报错:consul at least one health check on one instance is failing。原创 2022-08-29 22:56:37 · 579 阅读 · 1 评论 -
SpringCloud与Dubbo对比
而Spring Cloud就像品牌机,在Spring Source的整合下,做了大量的兼容性测试,保证了机器拥有更高的稳定性,但是如果要在使用非原装组件外的东西,就需要对其基础有足够的了解。对于技术发展的新需求,需要由开发者自行拓展升级(比如当当网弄出了DubboX),这对于很多想要采用微服务架构的中小软件组织,显然是不太合适的,中小公司没有这么强大的技术能力去修改Dubbo源码+周边的一整套解决方案,并不是每一个公司都有阿里的大牛+真实的线上生产环境测试过。严格来说,这两种方式各有优劣。原创 2022-08-21 10:57:22 · 178 阅读 · 0 评论 -
分布式的基本概念
微服务概念微服务是一种软件开发技术,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够独立地部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据上下文,选择合适的语言、工具对其进行构建。微服务架构风格,就像是把一个单独的应用程序开发为一套小服务,每个小服务原创 2021-12-08 16:38:26 · 2326 阅读 · 0 评论