08 2023 档案

摘要:链路追踪介绍 对于一个大型的几十个、几百个微服务构成的微服务架构系统,通常会遇到下面一些问题,比如: 如何串联整个调用链路,快速定位问题? 如何缕清各个微服务之间的依赖关系? 如何进行各个微服务接口的性能分折? 如何跟踪整个业务流程的调用处理顺序? 1、skywalking是什么 skywalkin 阅读全文
posted @ 2023-08-30 13:14 剑阁丶神灯 阅读(202) 评论(0) 推荐(0) 编辑
摘要:Skywalking ui页面功能 菜单栏 仪表盘:查看被监控服务的运行状态; 拓扑图:以拓扑图的方式展现服务之间的关系,并以此为入口查看相关信息; 追踪:以接口列表的方式展现,追踪接口内部调用过程; 性能剖析:对端点进行采样分析,并可查看堆栈信息; 告警:触发告警的告警列表,包括服务失败率,请求超 阅读全文
posted @ 2023-08-30 12:35 剑阁丶神灯 阅读(126) 评论(0) 推荐(0) 编辑
摘要:1、Redis集群方案比较 哨兵模式 在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master,哨兵的配置略微复杂,并且性能和高可用性等各方面表现一般,特别是在主从切换的瞬间存在 阅读全文
posted @ 2023-08-28 14:48 剑阁丶神灯 阅读(49) 评论(0) 推荐(0) 编辑
摘要:在添加接口增加幂等校验, 防止用户在短时间内重复调用添加接口import org.apache.commons.lang3.ArrayUtils;import org.aspectj.lang.JoinPoint;import org.aspectj.lang.annotation.Aspect;i 阅读全文
posted @ 2023-08-28 12:26 剑阁丶神灯 阅读(80) 评论(0) 推荐(0) 编辑
摘要:阿里巴巴Arthas详解 Arthas 是 Alibaba 在 2018 年 9 月开源的 Java 诊断工具。支持 JDK6+, 采用命令行交互模式,可以方便的定位和诊断线上程序运行问题。Arthas 官方文档十分详细,详见:https://alibaba.github.io/arthas Art 阅读全文
posted @ 2023-08-28 11:53 剑阁丶神灯 阅读(45) 评论(0) 推荐(0) 编辑
摘要:前置启动程序 事先启动一个web应用程序,用jps查看其进程id,接着用各种jdk自带命令优化应用 Jmap 此命令可以用来查看内存信息,实例个数以及占用内存大小 jmap -histo 14660 #查看历史生成的实例 jmap -histo:live 14660 #查看当前存活的实例,执行过程中 阅读全文
posted @ 2023-08-27 19:31 剑阁丶神灯 阅读(71) 评论(0) 推荐(0) 编辑
摘要:G1收集器(-XX:+UseG1GC) G1 (Garbage-First)是一款面向服务器的垃圾收集器,主要针对配备多颗处理器及大容量内存的机器. 以极高概率满足GC停顿时间要求的同时,还具备高吞吐量性能特征. G1将Java堆划分为多个大小相等的独立区域(Region),JVM目标是不超过204 阅读全文
posted @ 2023-08-27 00:42 剑阁丶神灯 阅读(257) 评论(0) 推荐(0) 编辑
摘要:垃圾收集算法 分代收集理论 当前虚拟机的垃圾收集都采用分代收集算法,这种算法没有什么新的思想,只是根据对象存活周期的不同将内存分为几块。一般将java堆分为新生代和老年代,这样我们就可以根据各个年代的特点选择合适的垃圾收集算法。 比如在新生代中,每次收集都会有大量对象(近99%)死去,所以可以选择复 阅读全文
posted @ 2023-08-26 17:49 剑阁丶神灯 阅读(76) 评论(0) 推荐(0) 编辑
摘要:对象的创建 对象创建的主要流程: 1.类加载检查 虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程。 new指令对应到语言层面上讲是,new关键词、对象克隆、 阅读全文
posted @ 2023-08-26 11:43 剑阁丶神灯 阅读(78) 评论(0) 推荐(0) 编辑
摘要:Kafka可视化管理工具kafka-manager 安装及基本使用可参考:https://www.cnblogs.com/dadonggg/p/8205302.html 线上环境规划 JVM参数设置 kafka是scala语言开发,运行在JVM上,需要对JVM参数合理设置,参看JVM调优专题 修改b 阅读全文
posted @ 2023-08-25 12:47 剑阁丶神灯 阅读(53) 评论(0) 推荐(0) 编辑
摘要:Kafka核心总控制器Controller 在Kafka集群中会有一个或者多个broker,其中有一个broker会被选举为控制器(Kafka Controller),它负责管理整个集群中所有分区和副本的状态。 当某个分区的leader副本出现故障时,由控制器负责为该分区选举新的leader副本。 阅读全文
posted @ 2023-08-24 11:25 剑阁丶神灯 阅读(22) 评论(0) 推荐(0) 编辑
摘要:这一部分主要是接触Kafka,并熟悉Kafka的使用方式。快速熟练的搭建kafka服务,对于快速验证一些基于Kafka的解决方案,也是非常有用的。 一、Kafka介绍 ​ ChatGPT对于Apache Kafka的介绍: Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发并 阅读全文
posted @ 2023-08-23 22:36 剑阁丶神灯 阅读(203) 评论(0) 推荐(0) 编辑
摘要:官方文档提供了一个Nacos集群的架构图,当我们访问Nacos时,首先会经过SLB,也就是负载均衡,通常是一个nginx,通过nginx来进行分发到具体的Nacos服务器上面。 我们需要给不同的服务器进行部署Nacos,我们这里演示的是一个伪的集群,在一台服务器上面搭建三个Nacos。 1. 环境准 阅读全文
posted @ 2023-08-22 09:09 剑阁丶神灯 阅读(147) 评论(0) 推荐(0) 编辑
摘要:1. 什么是 Nacos官方:一个更易于构建云原生应用的动态服务发现(Nacos Discovery )、服务配置(Nacos Config)和服务管理平台。集 注册中心+配置中心+服务管理 平台Nacos 的关键特性包括: 服务发现和服务健康监测 动态配置服务 动态 DNS 服务 服务及其元数据管 阅读全文
posted @ 2023-08-21 19:41 剑阁丶神灯 阅读(35) 评论(0) 推荐(0) 编辑
摘要:1. Nacos配置中心使用官方文档: https://github.com/alibaba/springcloudalibaba/wiki/NacosconfigNacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spri 阅读全文
posted @ 2023-08-21 19:41 剑阁丶神灯 阅读(45) 评论(0) 推荐(0) 编辑
摘要:1.什么是Ribbon目前主流的负载方案分为以下两种: 集中式负载均衡,在消费者和服务提供方中间使用独立的代理方式进行负载,有硬件的(比如 F5),也有软件的(比如Nginx)。 客户端根据自己的请求情况做负载均衡,Ribbon 就属于客户端自己做负载均衡。Spring Cloud Ribbon是基 阅读全文
posted @ 2023-08-21 19:41 剑阁丶神灯 阅读(44) 评论(0) 推荐(0) 编辑
摘要:1. 什么是Spring Cloud LoadBalancerSpring Cloud LoadBalancer是Spring Cloud官方自己提供的客户端负载均衡器, 用来替代Ribbon。Spring官方提供了两种负载均衡的客户端:RestTemplateRestTemplate是Spring 阅读全文
posted @ 2023-08-21 19:38 剑阁丶神灯 阅读(41) 评论(0) 推荐(0) 编辑
摘要:网关简介大家都都知道在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去用。 这样的架构,会存在着诸多的问题:每个业务都会需要鉴权、限流、权限校验、跨域等逻辑,如果每个业务都各自为战,自己造轮 阅读全文
posted @ 2023-08-21 19:07 剑阁丶神灯 阅读(465) 评论(0) 推荐(0) 编辑
摘要:JAVA 项目中如何实现接口调用?1)HttpclientHttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 Http 协议的客户端编程工具包,并且它支持 HTTP 协议最新版本和建议。HttpClient相比传统 JDK 自带的 阅读全文
posted @ 2023-08-21 12:35 剑阁丶神灯 阅读(95) 评论(0) 推荐(0) 编辑
摘要:JDK体系结构 Java语言的跨平台特性 JVM整体结构及内存模型 二、JVM内存参数设置 Spring Boot程序的JVM参数设置格式(Tomcat启动直接加在bin目录下catalina.sh文件里): java ‐Xms2048M ‐Xmx2048M ‐Xmn1024M ‐Xss512K ‐ 阅读全文
posted @ 2023-08-20 20:18 剑阁丶神灯 阅读(27) 评论(0) 推荐(0) 编辑
摘要:给jdk自带的jvisualvm安装Visual GC插件,遇到We're sorry the java.net site hasclosed(我们很抱歉java.net网站已经关闭)1、找到新的更新地址visualvm新访问地址:https://visualvm.github.io/index.h 阅读全文
posted @ 2023-08-20 20:13 剑阁丶神灯 阅读(580) 评论(0) 推荐(0) 编辑
摘要:栈和局部变量操作 将常量压入栈的指令 aconst_null 将null对象引用压入栈 iconst_m1 将int类型常量-1压入栈 iconst_0 将int类型常量0压入栈 iconst_1 将int类型常量1压入操作数栈 iconst_2 将int类型常量2压入栈 iconst_3 将int 阅读全文
posted @ 2023-08-20 20:10 剑阁丶神灯 阅读(22) 评论(0) 推荐(0) 编辑
摘要:类加载运行全过程 当我们用java命令运行某个类的main函数启动程序时,首先需要通过类加载器把主类加载到JVM。 public class Math { public static final int initData = 666; public static User user = new Us 阅读全文
posted @ 2023-08-20 12:14 剑阁丶神灯 阅读(50) 评论(0) 推荐(0) 编辑
摘要:Netty编解码Netty涉及到编解码的组件有Channel、ChannelHandler、ChannelPipe等,先大概了解下这几个组件的作用。ChannelHandlerChannelHandler充当了处理入站和出站数据的应用程序逻辑容器。例如,实现ChannelInboundHandler 阅读全文
posted @ 2023-08-19 19:47 剑阁丶神灯 阅读(134) 评论(0) 推荐(0) 编辑
摘要:Netty初探NIO 的类库和 API 繁杂, 使用麻烦: 需要熟练掌握Selector、 ServerSocketChannel、 SocketChannel、ByteBuffer等。开发工作量和难度都非常大: 例如客户端面临断线重连、 网络闪断、心跳处理、半包读写、 网络拥塞和异常流的处理等等。 阅读全文
posted @ 2023-08-19 19:29 剑阁丶神灯 阅读(73) 评论(0) 推荐(0) 编辑
摘要:IO模型IO模型就是说用什么样的通道进行数据的发送和接收,Java共支持3种网络编程IO模式:BIO,NIO,AIOBIO(Blocking IO)同步阻塞模型,一个客户端连接对应一个处理线程 BIO代码示例: import java.io.IOException; import java.net. 阅读全文
posted @ 2023-08-18 21:04 剑阁丶神灯 阅读(10) 评论(0) 推荐(0) 编辑
摘要:Q:Ribbon的总体流程?A: 针对被@LoadBalanced修饰的RestTemplate,给该RestTemplate增加LoadBalancerInterceptor拦截器,从而实现对负载均衡器的调用。负载均衡器通过服务名获取过滤后的服务列表,通过负载均衡算法获取其中某台实例,并进行调用 阅读全文
posted @ 2023-08-16 10:42 剑阁丶神灯 阅读(21) 评论(0) 推荐(0) 编辑
摘要:1 什么是认证和授权 2 3 nginx的ip_hash负载方式缺点: ip_hash可以将固定的ip请求分配到固定的服务器, 但是当那台服务挂了则nginx会将这个ip的请求分发给其它服务, 例如用户的登陆信息存储在A服务, 如果A服务挂了, 此时被分发到b服务时,b服务内存中没有这个用户的登陆信 阅读全文
posted @ 2023-08-15 18:04 剑阁丶神灯 阅读(6) 评论(0) 推荐(0) 编辑
摘要:1 根据端口号查看进程号PID 阅读全文
posted @ 2023-08-12 21:38 剑阁丶神灯 阅读(19) 评论(0) 推荐(0) 编辑
摘要:1. kafka适用场景 2 Mq作用 3 kafka消费组的作用 kafka可以有多个消费组, 一条消息, 同一个消费组里面假如有多个消费者, 这条消息只能被其中一个消费者消费。 但是其他组也能消费这条消息。 同一个消费组里面多个消费者消费消息kafka可以减轻压力 kafka可以有多个消息生产者 阅读全文
posted @ 2023-08-09 16:45 剑阁丶神灯 阅读(18) 评论(0) 推荐(0) 编辑