首页
学习
活动
专区
工具
TVP
发布

wannshan(javaer,RPC)

专栏作者
44
文章
63850
阅读量
29
订阅数
利用docker 搭建clickhouse+jdbc-bridge学习环境
https://docs.docker.com/desktop/install/windows-install/
技术蓝海
2023-11-02
4640
java ThreadLocal 分析by 源码
可以,通过inheritableThreadLocals属性子线程可以继承父线程的local变量,具体通过InheritableThreadLocal
技术蓝海
2021-03-18
3290
dubbo SPI 主要配置技术解读
dubbo 的SPI 不但实现了实现类的动态加载,还实现了类似spring 的IOC,AOP的功能
技术蓝海
2020-10-23
8251
认识dubbo
dubbo是基于java (目前最新是2.7.8发布版本)语言编写的一个高性能RPC框架,前身是阿里内部的后台服务框架,后来开源接收社区提交,现在属于apache 软件基金组织的一个开源项目
技术蓝海
2020-10-22
3980
dubbo集群容错策略的代码分析3
接上篇 https://cloud.tencent.com/developer/article/1109591 dubbo 版本2.5.3 通过代码可以看到failback,failover,failsafe,forking,failfast都通过了父类的select方法选择服务提供者(invoker) 这个方法里,也包含有dubbo处理集群的机制,包括使用负载均衡的策略。通知可以看到available和broadcast方案目前没用到负载均衡策略,先看先看select方法 /** * 使用lo
技术蓝海
2018-04-26
9400
dubbo负载均衡代码分析2(一致性hash策略)
接上篇 https://cloud.tencent.com/developer/article/1109586 说 这篇说dubbo一致性hash负载均衡策略。要先大致了解下,什么是一直性hash算法。 一致性hash算法最早是用来解决,分布式缓存在有节点变动(新增后者删除)后,节点负载不均衡问题的。 而用一致性hash算法,就是为了达到,当集群中有节点加入或者节点删除时,尽量把负载的变化(加负,减负)均摊到每一个节点。 而没有接点变化时,一直性hash本身就是基本均衡(看hash函数)的负载策略。
技术蓝海
2018-04-26
1.3K0
dubbo负载均衡代码分析1(leastactive策略)
接上篇 https://cloud.tencent.com/developer/article/1109584 既然有集群容错,自然会有负载均衡。dubbo通过spi默认实现了4种lb策略 分别是 权重随机(random),实现类RandomLoadBalance 权重轮询(roundrobin),实现类RoundRobinLoadBalance 最少活跃(leastactive)负载策略,实现类LeastActiveLoadBalance 一致性hash(consistenthash)实现类Co
技术蓝海
2018-04-26
8590
dubbo负载均衡代码分析3(加权轮询策略)
接上篇 https://cloud.tencent.com/developer/article/1109577 加权轮询,我第一次没理解,个人觉得不好理解。于是先仿照源码抽象出逻辑模型,代码如下: public static void main(String[] args) { //存储调用的方法和总的调用次数的map final ConcurrentMap<String, AtomicInteger> sequences = new ConcurrentHashM
技术蓝海
2018-04-26
1.1K0
dubbo集群容错策略的代码分析2
接上篇 https://cloud.tencent.com/developer/article/1109572 dubbo版本2.5.3 dubbo本身集群容错策略有7种。都实现了Cluster接口(
技术蓝海
2018-04-26
1.9K0
dubbo集群容错机制代码分析1
dubbo版本2.5.3 我们这里以zookeeper作为注册中心为例说明。 这里说的集群,可以理解为,一个接口服务对应有多个提供者。 在dubbo的调用方(reference)看来,每个提供方(service)对应一个invoker。 关于一个调用方对应多个提供方的场景大概包括三大类: 1,者调者订阅一个注册中心,此注册中心,同一个服务有多个提供者(以不同机器,端口,版本等发布的服务) 2,者调者订阅多个注册中心的服务,每个注册中心都有引用的服务的提供者(一个或者多个)。 3,调用方,通过url
技术蓝海
2018-04-26
1K0
dubbo路由代码分析4(script路由器file路由器)
接上篇 https://cloud.tencent.com/developer/article/1109564 这篇分析下,script类型和file类型路由器。 目前,script类型和file路由规则,还不能通过dubbo的admin管理页面添加。可以通过java api添加。具体看这里 先说,script路由器,它由ScriptRouterFactory路由工厂创建如下: public class ScriptRouterFactory implements RouterFactory {
技术蓝海
2018-04-26
1.6K0
dubbo路由代码分析3(condition路由器)
这篇说说,dubbo condition类型路由器的路由解析和执行过程 由 https://cloud.tencent.com/developer/article/1109552 这篇我们可以看到 condition类型路由器是由condition路由工厂获取,源码如下 public class ConditionRouterFactory implements RouterFactory { public static final String NAME = "condition";
技术蓝海
2018-04-26
1.4K0
dubbo路由机制分析2(路由设置存储)
接上次 https://cloud.tencent.com/developer/article/1109552 目前dubbo支持的路由类型分三种conditon,script,file 这次说conditon路由规则的设置方法和存储方式 向注册中心写路由规则,dubbo目前提供两种方式, 1,通过api代码写路由规则 如下:以zookeeper为注册中心为例 RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(
技术蓝海
2018-04-26
1.5K0
dubbo路由机制代码分析1
这回说说,dubbo路由特性,dubbo的路由干的事,就是一个请求过来, dubbo依据配置的路由规则,计算出哪些提供者可以提供这次的请求服务。 所以,它的优先级是在集群容错策略和负载均衡策略之前
技术蓝海
2018-04-26
1.1K0
dubbo通信消息解析过程分析(1)
由于rpc底层涉及网络编程接口,线程模型,网络数据结构,服务协议,细到字节的处理。牵涉内容较多,本文就先从一个点说起。通过源码说明下dubbo通过netty框架做传输层,从接到数据字节流到把字节转换为dubbo上层可读的Request消息对象的过程。dubbo还支持mina,grizzly做底层传输层。这里包括两部,反序列化和解码。这篇主要是说解码的过程。 本文是说明下图dubbo架构图中红框中的部分。
技术蓝海
2018-04-26
1.7K0
利用spring-ws 现实soap webservice服务
背景:有的系统还用soap协议来做webservice.特别要和他们对接的时候。我们需要实现一套。 今天说说,利用spring-ws来(部署,调用)webservcie,能很好的和主流架构(spring-mvc)结合。 参考资料,官方文档https://docs.spring.io/spring-ws/docs/3.0.0.RELEASE/reference/ spring-ws像spring-mvc一样,在集成到web项目时,前端有个servlet分发请求消息的概念。 这个servlet接受soap
技术蓝海
2018-04-26
5.7K0
jvisualvm.exe远程连接tomcat
花时间实践了下jvisualvm.exe远程监控tomcat jvisualvm.exe 是java自带一个jvm监控可视化工具,在%JAVA_HOME%/bin下 jvisualvm有两种方式监控jvm,分别是JMX和jstatd.自己实践的是JMX方式 环境:(java 1.7,tomcat7.0 centos6.4) 1,首先先打开tomcat jmx功能 在%Tomcat_Home%/bin下,建立setenv.sh文件(注意文件名,多说一句,tomcat不建议直接改catalina.sh文件的。推
技术蓝海
2018-04-26
1.6K0
Spring 事件传播机制分析
Spring4.0.4 Spring 事件机制采用的是观察者模型(又叫订阅发布模型) 有以下角色 这里,观察者就是监听者,被观察者就是事件对象。 事件发布流程如下 下面以ClassPathXmlApp
技术蓝海
2018-04-26
8820
idea 14+jrebel web以及外部依赖的jar热部署
1,关于idea使用jrebel工具,web项目热部署的事儿,网上讲的很多。不再提了。 2,讲一个普遍的场景,如果你有个xxx-web项目,本身有业务类类,同时还要依赖另外的一个xxx-servic
技术蓝海
2018-04-26
8490
ReentrantLock 重入锁,重入体会有多深?
以前写过这个 https://my.oschina.net/u/146130/blog/843445 今天看CyclicBarrier源码,核心代码 这一串 /** * Main barrier code, covering the various policies. */ private int dowait(boolean timed, long nanos) throws InterruptedException, BrokenBarrierExceptio
技术蓝海
2018-04-26
5970
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档