06 2020 档案
摘要:栈溢出 StackOverflowError Java 里的 StackOverflowError。抛出这个错误表明应用程序因为深递归导致栈被耗尽了。每当java程序启动一个新的线程时,java虚拟机会为他分配一个栈,java栈以帧为单位保持线程运行状态;当线程调用一个方法是,jvm压入一个新的栈帧
阅读全文
摘要:包含: 程序计数器 虚拟机栈 本地方法栈 堆 方法区(包含运行时常量池) 直接内存 线程私有:程序计数器,虚拟机栈,本地方法栈线程共享:堆,方法区 程序计数器 程序计数器是一块较小的内存空间,可以看作是当前线程执行的字节码行号指示器,JVM 通过改变这个计数器的值,来选取下一条需要执行的字节码指令,
阅读全文
摘要:微服务系统拆分导致系统调用链路愈发复杂一个前端请求可能最终需要调用很多次后端服务才能完成,当整个请求变慢或不可用时,我们是无法得知该请求是由某个或某些后端服务引起的,这时就需要解决如何快读定位服务故障点,以对症下药。于是就有了分布式系统调用跟踪的诞生。针对微服务化应用链路追踪的问题,Google在2
阅读全文
摘要:见: https://www.cnblogs.com/starcrm/p/12928808.html
阅读全文
摘要:Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置。 Spri
阅读全文
摘要:软件方式的负载均衡一般有两种方法 1、Nginx、Haproxy分布式服务器网关的负载均衡; 2、Ribbon&Feign 结合Nacos本地消费者客户端进程内的负载均衡(即不用先去访问nginx这类的服务器网关),用于Spring Cloud; 那么先复习下Nginx负载均衡的算法和配置。 1)、
阅读全文
摘要:Nacos 提供动态服务发现、服务配置、服务元数据及流量管理。 Nacos 的关键特性包括: 服务发现和服务健康监测 Nacos 支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用 原生SDK、OpenAPI、或一个独立的Agent TODO注册 Service 后,服务消费者可以使用DN
阅读全文
摘要:RocketMQ事务消息(Transactional Message)是指应用本地事务和发送消息操作可以被定义到全局事务中,要么同时成功,要么同时失败。RocketMQ的事务消息提供类似 X/Open XA 的分布事务功能,通过事务消息能达到分布式事务的最终一致。 Half Message(半消息)
阅读全文
摘要:消息存储架构 主要有下面三个跟消息存储相关的文件构成。 (1) CommitLog:消息主体以及元数据的存储主体,存储Producer端写入的消息主体内容,消息内容不是定长的。单个文件大小默认1G ,文件名长度为20位,左边补零,剩余为起始偏移量,比如00000000000000000000代表了第
阅读全文
摘要:RocketMQ 不支持任意时间自定义的延迟消息,仅支持内置预设值的延迟时间间隔的延迟消息。 预设值的延迟时间间隔为:1s、 5s、 10s、 30s、 1m、 2m、 3m、 4m、 5m、 6m、 7m、 8m、 9m、 10m、 20m、 30m、 1h、 2h 延时消息的使用场景 比如电商里
阅读全文
摘要:至少一次(At least Once)指每个消息必须投递一次。Consumer先Pull消息到本地,消费完成后,才向服务器返回ack,如果没有消费一定不会ack消息,所以RocketMQ可以很好的支持此特性。 生产者 在同步非顺序投递的时候,每次都是轮询到不同的队列: Message message
阅读全文
摘要:消息有序指的是一类消息消费时,能按照发送的顺序来消费。例如:一个订单产生了三条消息分别是订单创建、订单付款、订单完成。消费时要按照这个顺序消费才能有意义,但是同时订单之间是可以并行消费的。RocketMQ可以严格的保证消息有序。 顺序消息分为全局顺序消息与分区顺序消息,全局顺序是指某个Topic下的
阅读全文