02 2022 档案
摘要:了解了类加载器的双亲委派机制, 也知道了双亲委派机制的原理,接下来就是检验我们学习是否扎实了,来自定义一个类加载器 一. 回顾类加载器的原理 还是这张图,类加载器的入口是c++调用java代码创建了JVM启动器,其中的一个启动器是sun.misc.Launcher启动器。这个启动器启动并加载的App
阅读全文
摘要:手把手叫你写类加载器。 了解了类加载器的双亲委派机制, 也知道了双亲委派机制的原理,接下来就是检验我们学习是否扎实了,来自定义一个类加载器 一. 回顾类加载器的原理 还是这张图,类加载器的入口是c++调用java代码创建了JVM启动器,其中的一个启动器是sun.misc.Launcher启动器。这个
阅读全文
摘要:写在前面的话:为什么要研究类加载的过程?为什么要研究双亲委派机制? 研究类加载的过程就是要知道类加载的时候使用了双亲委派机制。但仅仅知道双亲委派机制不是目的,目的是要了解为什么要使用双亲委派机制,他的原理是什么?知道双亲委派机制的逻辑思想,然后这个思想是否可以被我们借鉴,为我所用。这才是学习知识的目
阅读全文
摘要:一. Nacos&Ribbon&Feign微服务架构图 架构原理 1. 微服务系统在启动时将自己注册到服务注册中心,同时对外发布 Http 接口供其它系统调用(一般都是基于Spring MVC) 2、服务消费者基于 Feign 调用服务提供者对外发布的接口,先对调用的本地接口加上注解@FeignCl
阅读全文
摘要:1. 下载源码 地址: https://github.com/alibaba/nacos/tree/1.1.4 选择下载源码的版本, 这里下载的是1.1.4版本 2. 在本地加载项 3. 启动项目 1. 找到启动项目 启动项目的位置: console项目->Nacos文件 这是一个控制台项目, 我们
阅读全文
摘要:我们原来使用单题架构的时候, 没有注册中心, 注册中心是如何悄悄的就出现在了我们的日常生活中的呢? 其实, 他肯定是有自己的一个演变过程的, 一定是因为需要, 所以才出现. 下面我们就来分析注册中心是如何演变而来的. 1. 最初的单体应用时代, 如果我一个服务是产品服务,一个试订单服务. 产品服务想
阅读全文
摘要:1.背景 Nacos与Eureka相比,Nacos的优点非常明显,当然首选Nacos作为注册中心。本文主要介绍如何从Eureka无缝平滑迁移到Nacos注册中心,业务方应用改动最小,业务应用改造一次完成迁移。 2.方案设计 2.1 业务应用多注册到Nacos和Eureka Spring Cloud应
阅读全文
摘要:本文讲解以下几个方面的内容: 1. nacos服务发现原理 2. spring cloud服务协作流程 3.搭建nacos服务端 4. 搭建nacos服务发现客户端 5. nacos服务发现的数据模型 一. nacos服务发现的原理 有两个微服务A和B, A调用B, 那么A是如何调用B的呢?我们可以
阅读全文
摘要:下面将研究以下几个问题: 1. nacos的角色: nacos是如何工作的? 在集群中扮演什么样的角色? 2. 修改nacos配置数据库: 我们在控制台配置的信息, 默认是写到nacos的默认数据库中, 不方便管理, 因此我们设置一个自己的数据库, 进行管理操作 3. 在控制台配置nacos配置 4
阅读全文
摘要:目标 从今天开始研究nacos. 为什么研究这个? 因为现在公司主流开始推荐使用nacos了...,已经在使用今天做个总结 nacos主要有两大作用. 一个是注册发现, 一个是配置管理 我们SpringCloud 1.0注册发现使用的是eureka, 配置管理使用的是spring cloud的配置中
阅读全文
摘要:Mybatis-Plus 使用ID_WORKER生成主键id重复 问题描述 目前项目使用的id是mybatis-plus 内置的主键生成策略 ID_WORKER ,最近测试在做性能压测,部署架构是单服务集群的部署方式,然后就发现了id重复的异常,异常如下 注意 sae serverless集群部署集
阅读全文
摘要:什么是死锁 在使用多线程以及多进程时,两个或两个以上的运算单元(进程、线程或协程),各自占有一些共享资源,并且互相等待其他线程占有的资源才能进行,而导致两个或者多个线程都在等待对方释放资源,就称为死锁 下面看个简单的例子: public class DeadLockTest { public sta
阅读全文
摘要:众所周知redis的keys命 在测试环境这样开发没有问题, 由于项目对redis依赖比较大, 就网上找了一些关于redis的keys命令, 得知keys命令执行的时候会严重阻塞线上其它命令的正常请求, 于是做了以下替代方案 前同事留下的坑 优化redis时候记录下,也可以代码循环手动删除对应的ke
阅读全文