自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 nacos源码 服务自动注册流程(ServiceRegistry)

配置类中设计到的几个bean:NacosServiceRegistry 、NacosRegistration 、NacosAutoServiceRegistration 、AutoServiceRegistrationConfiguration。NacosAutoServiceRegistration : 服务启动后自动注册的入口。NacosServiceRegistry : 实现服务的注册逻辑。定时任务向nacos服务端发送心跳消息。调用nacos服务端注册服务。.........

2022-08-08 22:00:51 1683 1

原创 NACOS领域模型及负载均衡调用策略

阿里,阿里爸爸,阿里爸爸开源的框架真的很精髓~

2022-08-02 11:08:29 648

原创 浅谈Nacos中的CAP

说起CAP原则,大家都不陌生。只要是个分布式系统,都应该满足。之前写过Zk的CAP,今天来谈谈nacos中是如何实现CAP的。Zookeeper集群选举机制以及数据同步机制Nacos源码环境搭建和源码流程图世上无难事,只怕有心人,每天积累一点点,fighting!!!httpshttpshttpshttps。...

2022-08-02 10:06:57 2249

原创 Nacos页面以及功能简单介绍

Nacos中通过命名空间+分组名+服务名可以定位到一个唯一实例,通常推荐使用由运行环境作为命名空间、应用名作为分组,服务功能作为服务名的组合来定义服务。保护阈值是牺牲⼀部分流量,保证集群中剩余健康实例能正常工作的一种手段。服务路由类型和权重都是用来定义Nacos路由规则的,而临时实例和持久化实例是Nacos中的两种实例类型。...

2022-07-31 22:20:08 788

原创 Nacos支持负载均衡(权重) 三种方式(Ribbon)

方案1是最容易想到的玩法。方案2是个人目前最喜欢的方案。首先简单,并且都是复用Nacos/Ribbon现有的代码——而Ribbon/Nacos本身都是来自于大公司生产环境,经过严苛的生产考验。方案3太暴力了,把Ribbon架空了。此方案中,扔给Ribbon做负载均衡选择时,List只有1个元素,不管用什么算法去算,最后总是会返回这个元素!.........

2022-07-31 20:56:48 4552 2

原创 Nacos中的DistroConsistencyServiceImpl工作浅析

Eureka是一个AP模式的服务发现框架,在Eureka集群模式下,Eureka采取的是Server之间互相广播各自的数据进行数据复制、更新操作;正因为Eureka为了能够在Eureka集群无法工作时不影响消费者调用服务提供者而设置的客户端缓存,因此Eureka无法保证服务注册信息的强一致性(CP模式),只能满足数据的最终一致性(AP模式)之间互相的数据同步来实现数据在集群中的同步、复制操作。所对应的数据集合,然后对数据进行序列化操作,转为。端数据的变更,此时会创建一个任务,将数据的。...

2022-07-29 20:25:11 236

原创 Nacos 集群 一致性协议实现之`Distro`协议浅析

/根据ServiceName进行Hash计算,找到对应的权威节点的索引,判断是否是本节点,是的话表明该数据可以由本节点进行处理。//如果此时的任务暂存数量达到了指定的批量,或者任务的时间达到了最大设定,进行数据同步任务。//如果传来的数据存在由本节点负责的数据,则直接退出本次数据同步操作(违反了权威server的设定要求)//根据需要更新的key进行数据拉取,然后对同步的数据进行操作,剩下的如同最开始的全量数据同步所做的操作。//数据任务放入Map中,避免数据同步任务重复提交。...

2022-07-29 20:24:02 611

原创 为Nacos实现一个DNS服务发现

为上层应用提供根据服务名查找到一个机器IP的能力,而这就带来了一个问题,应用必须要集成这一些组件的客户端SDK,一旦组件的SDK出现问题需要升级时,就需要推动应用方的升级,这是不想见到的。//调用NacosDnsCore,获取一个实例数据,并将其封装为Record对象。//根据DnsServer传来的域名信息,查询一个InstanceRecord数据。//这里进行构建DNSserver,去监听DNS协议专用的端口53。//获取需要解析的域名,这里就是服务名信息。...

2022-07-29 20:12:59 2083 2

原创 nacos 基于DNS的服务注册与发现

本文介绍了微服务架构中如何基于DNS做服务发现。首先,介绍了服务法注册与发现的概念、服务注册与发现的几种方式及其优缺点;然后,介绍基于DNS的服务发现的两种方式及其优缺点;最后,介绍了阿里巴巴基于DNS做服务发现的实践,主要是基于自研的软负载系统VIPServer。基于DNS的服务发现要解决的问题远不止本文描述的这些,敬请期待后续系列文章(。httpshttpshttpshttps。...

2022-07-29 20:01:52 1741

原创 Fastjson序列化原理

而getJson被简单当作了json属性的getter,所以在writer.write(object)中调用了getJson从而出现了递归。最后,在github的issue中也翻到了一个对应的问题,作者给出的答案就是换个名字。返回继续分析,在做了部分如注解别名之类的处理后,将分析得到的结果生成一个FieldInfo,并保存在fieldInfoMap中。排除自己的错误后,就将代码定位到了fastjson中,应该是fastjson中出了问题。在项目中使用了fastjson,然后出现了一个奇怪的bug。.....

2022-07-25 14:38:58 3279

原创 史上最通俗易懂的ASM教程

ASM是一种通用Java字节码操作和分析框架。它可以用于修改现有的class文件或动态生成class文件。ASM本篇文章分享的是对ASM的理解和应用,之前需要我们掌握class字节码,JVM基于栈的设计模式,JVM指令。...

2022-07-25 11:13:39 1243

原创 Linux rsync命令用法详解

在Linux系统下,数据备份的工具很多,除了前面介绍了tar、cpio、dd命令之外,本节再介绍一个用来备份数据的命令,就是rsync。从字面意思上,rsync可以理解为remotesync(远程同步),但它不仅可以远程同步数据(类似于scp命令),还可以本地同步数据(类似于cp命令)。不同于cp或scp的一点是,使用rsync命令备份数据时,不会直接覆盖以前的数据(如果数据已经存在),而是先判断已经存在的数据和新数据的差异,只有数据不同时才会把不相同的部分覆盖。...

2022-07-21 14:50:57 659

原创 web应用(Nginx,Apache)使用 x-sendfile 下载文件

web应用(Nginx,Apache)使用 x-sendfile 下载文件

2022-07-01 13:55:21 246

原创 pom.xml文件详解

pom.xml

2022-06-16 15:50:39 3133

原创 setting.xml文件详解

<?xml version="1.0" encoding="UTF-8"?> <settings 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.org

2022-04-12 22:56:32 1903

原创 setting文件详解

记录maven配置 mirrorOf 坑_sapphire7999的博客-CSDN博客_maven mirrorof对应仓库id问题——————————————————————————————————————最近在学习maven的相关知识,自己利用nexus3服务搭建了一个maven的私有仓库。测试一下的maven的镜像地址目前都有效:(最快) http://maven.ibiblio.org/maven2/http://central.maven.org/maven2/http:...

2022-03-21 17:48:37 4856

原创 浅谈Maven 项目中依赖的搜索顺序

浅谈Maven 项目中依赖的搜索顺序更新时间:2018年09月27日 14:30:23 这篇文章主要介绍了浅谈Maven 项目中依赖的搜索顺序,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧网上有很多关于maven项目中mirror、profile、repository的搜索顺序的文章,说法不一。官方文档并没有找到相关的说明,鉴于此,我抽时间做了一个验证。依赖仓库的配置方式maven项目使用的仓库一共有如下几种方式:中央仓库,这是默认的仓库 镜...

2022-03-21 16:39:23 979 3

原创 Java-JVM 栈帧(Stack Frame)

Java-JVM 栈帧(Stack Frame)一、概述栈帧位置JVM 执行 Java 程序时需要装载各种数据到内存中,不同的数据存放在不同的内存区中(逻辑上),这些数据内存区称作运行时数据区(Run-Time Data Areas)。其中 JVM Stack(Stack 或虚拟机栈、线程栈、栈)中存放的就是 StackFrame(Frame 或栈帧、方法栈)。对应关系一个线程对应一个JVM Stack。JVM Stack 中包含一组Stack Frame。线程每调用一个方法就...

2020-07-03 10:20:03 224

原创 JVM内存划分

JVM内存划分目录1. 概述2. 运行时数据区域2.1 程序计数器2.2 Java虚拟机栈2.3 本地方法栈2.4 Java堆2.5 方法区2.6 补充2.6.1 运行时常量池和Class文件常量池2.6.2 直接内存3. HotSpot虚拟机3.1 内存划分3.2 对象的创建、内存布局、访问定位3.2.1 对象的创建3.2.2 对象的内存布局3.2.3 对象的访问定位4. OOM4.1 堆OOM4.2 虚拟机栈O...

2020-07-02 15:44:29 101

原创 java类的加载机制

1、什么是类的加载类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。类加载器并不需要等到某个类被“首次主动使用”时再加载它,JVM规范允许类加载器在预料某个类将要被使用时就预先加载它,如果在预先加载的过程中遇到了....

2020-07-01 10:28:01 84

原创 JVM——元空间(Metaspace)

一、从方法区(PermGen)到元空间(Metaspace)方法区(PermGen)JDK1.8以前的HotSpot JVM有方法区,也叫永久代(permanent generation)。 方法区用于存放已被虚拟机加载的类信息、常量、静态变量,即编译器编译后的代码。 方法区是一片连续的堆空间,通过-XX:MaxPermSize来设定永久代最大可分配空间,当JVM加载的类信息容量超过了这个值,会报OOM:PermGen错误。 永久代的GC是和老年代(old generation)捆绑在一起的,无

2020-06-29 10:26:37 780

原创 如何查看jvm中的各种参数以及默认值

如何查看jvm中的各种参数以及默认值wisgood 2018-04-28 10:36:51 13814 收藏 1分类专栏: Java版权1 标准参数标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容;通过命令 java即可查看如下where options include: -d32 use a 32-bit data model if available -d64 use a 64-bit data model...

2020-06-28 13:49:31 567

原创 彻底搞懂Redis的线程模型

为了接下来一篇博客,能使读者更加完整地学习线程模型,所以本文对Redis的线程模型进行必要的讲解。由于《Redis设计与实现》对于Redis的讲解简练优雅,所以本文大部分内容节选自本书,也欢迎对Redis有更多底层了解需求的读者,自行购买学习。一、文件事件处理器Redis基于Reactor模式开发了自己的网络事件处理器,被称为文件事件处理器,由套接字、I/O多路复用程序、文件事件分派器(dispatcher),事件处理器四部分组成。1、I/O多路复用程序、文件事件分派器I/O多.

2020-06-19 10:18:11 332

原创 彻底搞懂epoll高效运行的原理

前言这篇文章读不懂的没关系,可以先收藏一下。笔者准备介绍完epoll和NIO等知识点,然后写一篇Java网络IO模型的介绍,这样可以使Java网络IO的知识体系更加地完整和严谨。初学者也可以等看完IO模型介绍的博客之后,再回头看这些博客,会更加有收获。如果你顺利啃下这篇博客,恭喜你,nginx、redis和NIO等核心思想已经被你掌握了,可以顺势去拓展自己的理解。否则,只是孤立的看epoll,时间一长会很快忘记的。当然,这些核心思想,笔者也会在之后的博客慢慢做详细讲解,欢迎关注概念初探

2020-06-18 18:26:24 152

原创 搞懂Redis RDB和AOF持久化及工作原理

搞懂Redis RDB和AOF持久化及工作原理目录前言 一.探索RDB 手动触发 自动触发 工作原理 探索RDB文件 优缺点 二.探索AOF 手动触发 自动触发 工作原理 探索AOF文件 优缺点 回到顶部前言  因为Redis的数据都储存在内存中,当进程退出时,所有数据都将丢失。为了保证数据安全,Redis支持RDB和AOF两种持久化机制有效避免数据丢失问题。RDB可以看作在某一时刻Redis的快照(snapshot),非常适合灾难恢复。.

2020-06-18 14:08:47 215

原创 Redis.conf(5.0.4) 配置详解

Redis 配置详解(一)概述本文主要描述了 Redis 各个配置项的作用以及可能的取值,主要针对 Redis 5.0.4 版本,不同版本的选项会有所不同。配置文件在 Ubuntu 下,如果你是以 deb 包的形式安装 Redis 的,那么 redis 的默认配置文件将在 /etc/redis/redis.conf。 打开 /etc/redis/redis.conf 我们首先会看到 Redis 配置文件中单元大小的解释:# Note on units: when memory size

2020-06-16 17:54:01 548

原创 Redis 入门系列

远的博客行胜于言Redis 入门概述本文主要描述了 Redis 的安装,基本的数据类型以及如何通过 redis-cli 来对 Redis 数据库进行基本的操作。安装Ubuntu 下可以通过如下命令进行 Redis 的安装$ sudo apt-get install redis-server安装成功后,会自动运行 Redis 的服务进程$ ps -ef | grep redisredis 452 1 0 02:24 ? 00:00:

2020-06-16 17:44:40 121

原创 window中cmd窗口最大化

下载下来运行就行了如果大小不合适可以编辑resize.bat文件中mode con lines=40  mode con cols=160 来改变大小

2017-08-11 23:26:19 1854 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除