7 进击的老码农

尚未进行身份认证

公众号:进击的老码农(jjdlmn). 关注我不吃亏

等级
TA的排名 1w+

我写的扩展jar包如何无侵入的给别人使用

有这么一个场景, 我写了一个dubbo spi扩展jar包 dubbo-ext.jar; 这个Jar包是不可执行包(没有main函数), 它的作用是对现有运行的dubbo服务做一些增强;那么这样的一个扩展包,要符合即插即用的原则;要无侵入的增强;正常情况下我们可能直接在pom文件依赖一下这个包;因为无侵入原则,那么这条路就不能走了; 那可怎么办呢?1.Tomcat启动方式如果目标服务是用T...

2019-12-09 20:12:37

【Dubbo源码】SPI机制源码解析

文章目录一、什么是SPI机制二、SPI机制源码分析ExtensionLoader静态类和静态方法new ExtensionLoader(type) 实例化扩展加载器如何创建自适应扩展实例如何获取自适应扩展的`Class`?如何自动创建`自适应扩展类`实例化之后,如何依赖注入?依赖注入的属性从哪里来加载当前`Type`中所有的扩展类加载文件中的具体实现类@Activate 注解的作用总结先去看Du...

2019-12-01 18:17:32

Zookeeper安装与基础命令操作

安装ZK下载安装包点击下载zookeeper 3.4.14PS: Mac之前下载了3.5.6启动之后,报错找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain应该是lib下的jar包缺失,省的麻烦,我就直接下载了3.4.14版本启动ZkServer执行zk的bin下面的启动脚本;例如sh ~/Documents...

2019-11-11 19:10:05

Aop实现记录请求日志

/** * @ClassName: LogAspect * @Description: 日志记录AOP实现 */@Component@Aspectpublic class LogAspect { private final static Logger logger = LoggerFactory.getLogger(LogAspect.class); @Pointcut...

2019-11-10 11:13:20

【Nacos配置管理】一文带你搞懂Nacos配置管理模块

总结Nacos配置管理操作流程可以 做 ip hash定位使用哪台机器;每次都访问同一台机器 ,或者做共享session;集群列表的配置文件,第3步通知的时候就是读取这里获取集群所有服务器列表给配置文件中的集群列表发送给一个http请求,通知有配置修改了本地磁盘中的文件,在服务端启动的时候就会将配置全部dunmp到本地磁盘, 这里修改了,也会修改对应的磁盘中的配置,服务端内存中存的只...

2019-10-10 09:18:40

【Arthas】通过Cloud Toolkit插件使用Arthas一键诊断远程服务器

Cloud Toolkit是一个IDE 插件,帮助开发者更高效地开发、测试、诊断并部署应用。

2019-09-20 08:56:32

【Arthas】初识Arthas,安装使用

Arthas(读:阿尔萨斯) Java诊断好帮手

2019-09-19 21:33:41

【Arthas】命令之ognl使用姿势

文章目录Althas中的OGNL使用姿势参数说明使用示例1.调用静态属性2.调用静态方法3.读取不同类型的值Ognl 常用用法说明`#`变量引用 `#this` 当前对象调用构造方法参考资料Althas中的OGNL使用姿势从3.0.5版本增加Althas支持ognl的格式参数说明参数名称参数说明express执行的表达式[c:]执行表达式的 ClassL...

2019-09-19 10:03:53

【Nacos源码之配置管理 十一】服务端LongPollingService推送变更数据到客户端

前言上一篇 【Nacos源码之配置管理 十】客户端长轮询监听服务端变更数据 介绍了客户端会像服务端发起长轮询来获取变更数据, 其实在客户端发起长轮询的请求相当于向服务端发起了一个订阅; 因为服务端接受到客户端的请求之后如果没有查询到变更数据是不会返回的;而是会等待29.5s(当然时间可配),在这个29.5s时间内,服务端如果检测到有数据变更,会立马像客户端发起响应请求,因为这个时间内服务端还是...

2019-09-13 21:08:38

AsyncContext异步请求的用法

AsyncContext介绍Servlet 3.0的异步处理支持特性,使Servlet 线程不再需要一直阻塞,直到业务处理完毕才能再输出响应,最后才结束该 Servlet 线程。在接收到请求之后,Servlet 线程可以将耗时的操作委派给另一个线程来完成,自己在不生成响应的情况下返回至容器。针对业务处理较耗时的情况,这将大大减少服务器资源的占用,并且提高并发处理速度Servlet 3.0新增...

2019-09-13 20:12:38

【Nacos源码之配置管理 十】客户端长轮询监听服务端变更数据

前言还记得我们在 服务端增删改配置数据之后如何通知集群中的其他机器 中分析了服务端之间的相互通知修改数据, 当时结尾的时候,留下了以下问题,我们将在这篇文章中来给解析一下; 客户端是如何订阅服务端的? 服务端又是怎么通知到客户端数据变更的? 客户端与服务端直接是长连接还是短连接? 客户端与服务端是推还是拉?ConfigService.addListener 订阅配置消息在【N...

2019-09-11 19:16:32

【Nacos源码之配置管理 九】客户端获取配置数据的流程

前言上一篇文章讲了 【Nacos源码之配置管理 八】客户端怎么获取服务端集群列表 ,客户端获取到集群列表缓存在内存中,是在获取配置的时候需要使用的; 因为要去服务端发起http请求获取数据; 那么我们今天来分析一下,客户端是如何获取服务端数据的阅读完本文,您将会了解以下问题: 客户端如何获取配置数据 客户端如何配置本地配置数据(开发的时候,开发者可以配置自己的配置数据) 如果服务端全...

2019-09-05 19:06:08

Mac提升工作效率从Alfred神器开始(下)

前言上一篇讲了 Alfred的基础篇,虽然基础篇讲的内容已经很强大了. 但是其实真正让Alfred坐上Mac效率提升第一的神器宝座的而是它的WorkFlow功能; WorkFlow 是工作流的意思; Alfred相当于提供了一个扩展接口,让所有人都能很方便的去制作一些工作流来满足自己的日常需求; 我今天搜罗了一些在开发人员看来是非常实用的 WorkFlow; 所有的文件已经打包好;可以一次性下...

2019-09-08 21:25:26

Mac提升工作效率从Alfred神器开始(上)

最近公司发了新Mac,又要重新装各种软件,问了一圈身边的人发现,居然还有这么多人不知道Alfred这款神器,我表示非常震惊,因为使用Mac不用这款Alfred神器,真的是太可惜了,它的功能真的真的非常强大, 掌握这款工具你可以扔掉你手中的鼠标了; 今天这篇文章介绍一下这款神器的使用!一、安装破解下载最新版4.0.4 ,关注公众号 : 进击的老码农;回复Alfred关键字获取安装包和破解器;...

2019-09-07 12:35:59

学习资料下载

关注公众号: 进击的老码农 后台回复领取海量学习资料​学习资料为大家整理了软件工程师所需要学习进阶的一些资料包括:Java基础,Linux,Spring、Redis、Mysql、面试题、等等...欢迎大家领取学习。Java面试题后台回复: Java面试题Java Web后台回复: JavaWebjQuery后台回复: jQ...

2019-09-06 14:24:46

【Nacos源码之配置管理 八】客户端怎么获取服务端集群列表

前言在前面第六篇文章中,我们介绍了配置管服务端模块的ServerListService类;这个类作用是持有服务端集群列表信息,并且每隔一段时间就会去检查集群中的机器是否正常; ServerListService类获取集群列表方式是先获取本地文件配置,如果没有配置则检查是否配置了远程服务器配置列表;具体详细可以查看文章 【Nacos源码之配置管理 六】集群模式下服务器之间是如何互相感知的 ;...

2019-09-03 23:21:11

【Nacos源码之配置管理 七】服务端增删改配置数据之后如何通知集群中的其他机器

在后台管理界面可以直接增删改查所有的配置数据,那么问题来了 增删改数据这个操作,除了落库,还做了哪些操作?新增配置数据打开后台新建一个配置如果是新增先访问Http请求ConfigController.getConfig()检验dataId,group等等是否已经存在,已经存在提示不让新增不存在可以新增,则访问 ConfigController.publishConfig方法发布配...

2019-09-03 22:42:23

【Nacos源码之配置管理 六】集群模式下服务器之间是如何互相感知的

前言我们用Nacos当配置中心的时候,上一篇文章中【Nacos源码之配置管理 五】为什么把配置文件Dump到磁盘中 知道了,所有的配置文件都会Dump到服务器的本地磁盘中,那么集群模式下: 服务器之间如何彼此感知发现的? 当某一台机器宕机挂掉之后怎么处理的? 如何获取本地Ip 获取服务器列表 服务器列表健康检查阅读完本文,会带你对上面的问题有个很清晰的认知;集群模式...

2019-09-02 09:24:08

【Nacos源码之配置管理 五】为什么把配置文件Dump到磁盘中

前言上一篇文章 【Nacos源码之配置管理 四】DumpService如何将配置文件全部Dump到磁盘中 分析了Nacos将配置文件Dump的磁盘中,那我为什么要Dump到磁盘中呢?这样做有什么好处?哪些地方读取了磁盘中的文件?带着这些问题,我们去源码中一探究竟;1.快速启动,将数据库中的数据与磁盘对比MD5判断是否修改// Dump 修改过的配置文件 static public bo...

2019-08-27 17:00:54

【Nacos源码之配置管理 三】TaskManager 任务管理的使用

任务管理类因为Nacos中有很多地方使用了这个TaskManager,所以我们得先了解一下这个类是干啥用的,方便后面阅读源码时候不会吃力;先说结论:TaskManager 可以看成是一个待执行的任务集合,用于处理一定要执行成功的任务 单线程的方式处理任务,保证任务一定被成功处理; 如果执行失败了,任务会被重新放入集合中等待下一次被消费;AbstractTaskAbstractTask是个...

2019-08-27 14:18:13

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。