- 博客(21)
- 资源 (31)
- 收藏
- 关注
原创 Dubbo源码之动态编译
Dubbo里的代理类JavassistProxyFactory:利用字节码技术来创建对象public <T> T getProxy(Invoker<T> invoker,Class<?>[] interfaces) {return (T) Proxy.getProxy(interfaces).newInstance(newInvoker...
2019-03-28 12:09:01 506
原创 Dubbo源码之服务端的发布
Dubbo服务发布-原理第一个发布的动作:暴露本地服务 Export dubbo service com.alibaba.dubbo.demo.DemoService to local registry, dubbo version: 2.0.0, current host: 127.0.0.1第二个发布动作:暴露远程服务 Export dubbo service com.al...
2019-03-28 09:19:47 329
原创 Dubbo源码之服务引用
服务引用-整体架构设计图ReferenceBean.getObject() -->ReferenceConfig.get() -->init() -->createProxy(map) -->refprotocol.refer(interfaceClass, urls.get(0)) -->Exten...
2019-03-28 09:19:40 328
转载 如何做一个对账系统
在互联网行业中只要涉及到支付,必然就会有对账的需求,几乎所有互联网公司的业务中多多少少的都会涉及到支付,大一点的公司甚至都标配有了自己的第三方支付公司,因此对账具有普遍性。对账系统是支付体系中最重要的一环,也是保证交易、资金安全的最后一道防线。在大多数的互联网公司中,一般都会有独立的对账系统来处理,比如:电商平台、互联网金融、第三方支付公司等。对账是支付系统中的一环,因此在对账前我们先了解一下...
2019-03-27 10:37:18 1832
原创 深入探索 MySQL Binlog:原理、工作机制与实践应用
binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE…)以及表数据修改(INSERT、UPDATE、DELETE…)的二进制日志。
2019-03-26 12:54:43 55681 4
原创 微观理解: 探索ZooKeeper的工作机制和领导者选举原理
原子广播,这个机制保证了各个Server之间的同步。实现这个机制的协议叫做Zab协议。Zab协议有两种模式,它们分别是恢复模式(选主)和广播模式(同步)
2019-03-26 07:55:29 1157
原创 Dubbo高级配置
启动时检查Dubbo缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止Spring初始化完成,以便上线时,能及早发现问题,默认check=true。如果你的Spring容器是懒加载的,或者通过API编程延迟引用服务,请关闭check,否则服务临时不可用时,会抛出异常,拿到null引用,如果check=false,总是会返回引用,当服务恢复时,能自动连上。可以通过check=...
2019-03-21 04:37:51 798
转载 Dubbo泛化调用
dubbo消费端,一般必须依赖服务端提供的api包,服务端api包一旦升级,消费端也要跟着升级(依赖的情况下),不像spring cloud一样,采用rest协议,对服务端的api依赖几乎可以没有,不过dubbo也有rest协议扩展,见当当网dubbox,也有jsonrpc协议的扩展,见https://github.com/apache/incubator-dubbo-rpc-jsonrpc...
2019-03-21 04:00:43 3052
原创 关于new Object的探究
问题1:java中的引用类型的对象存放在哪里根据上下文来确定。比如voidfunc(){Objectobj=newObject();//这个obj在函数的栈里。}classTest{privateObjectobj=newObject();//这个obj随对应的Test对象分配在堆里}对于方法中的局部变量的引用时存放在java运行...
2019-03-19 07:40:34 584
原创 Dubbo服务降级设置
dubbo降级服务dubbo开发中,通常是微服务架构,那么在使用过程中可能会遇到多种问题:1)多个服务之间可能由于服务没有启动或者网络不通,调用中会出现远程调用失败;2) 服务请求过大,需要停止部分服务以保证核心业务的正常运行;以上两个问题可以使用Dubbo的服务降级来实现;即:在服务宕掉或者并发数太高导致的RpcException异常时,进行友好的处理或者提示,而不是内部...
2019-03-18 19:34:06 1196
转载 Dubbo的线程模型
Dubbo的 protocol标签提供了三个参数dispatcher,threads(默认为100)和threadpool来为我们自定义DUBBO协议下的线程模型,其中dubbo自定义了5个线程dispatcher:Dispatcherall 所有消息都派发到线程池,包括请求,响应,连接事件,断开事件,心跳等。direct 所有消息都不派发到线程池,全部在Io线程上直接执行m...
2019-03-18 19:22:47 437
原创 JVM里对象的布局和结构和访问
对象在内存中的创建策略1、指针碰撞2、空闲指针3、本地线程缓冲对象在内存中的布局1、对象头1.1、存储对象运行时自身的数据1.2、指向类元数据的指针,虚拟机通过这个指针判断这是哪个类的对象2、实例数据3、对齐填充JVM要求对象大小必须是8字节的整数倍下面举两个例子:待续。。。...
2019-03-15 18:47:10 454
原创 HashMap,LinkedHashMap,TreeMap读取大量数据效率的比较
@Test public void test() { Integer count =1000000; Random random =new Random(); Map<String, String> map = new HashMap<String, String>(); for (int i = 0; i < count; i++) { ...
2019-03-15 16:59:04 7107
原创 Dubbo暴露JsonRPC的步骤
一、背景介绍最近一个项目需要给node端同学直接提供dubbo访问。dubbo默认是使用hessian协议的,node是可以直接调用dubbo的默认协议的,或者调用dubbo的其他原生协议。为什么不考虑直接使用hessian呢,因为hessian是基于http的,消耗巨大,并且会有乱码的问题。所以后端dubbo提供的服务考虑使用jsonrpc协议,但是dubbo原生是不支持jsonrpc...
2019-03-14 15:22:34 4053
转载 Netty的底层原理
目录Netty简介BIO的Acceptor线程模型AIO的Proactor模型NIO的I/O多路复用模型基于bufferNetty线程模型事件驱动模型Netty简介Netty是 一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。JDK原生NIO程序的问题JDK原生也有一套网络应用程序API,但是存在一系列问题,主要如下:...
2019-03-12 14:34:47 4996
原创 基于Spring-Cloud-Gateway开发API网关的思路
一、什么是Spring-Cloud-GatewaySpring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。Spring Cloud Gateway作为Spring Cloud生态系中的...
2019-03-11 20:04:29 2881
原创 单机限流和分布式应用限流
单机限流算法主要有:令牌桶(Token Bucket)、漏桶(leaky bucket)和计数器算法是最常用的三种限流的算法;分布式限流需要一个第三方组件来记录请求的次数。
2019-03-11 13:04:57 3947
原创 线程池的核心参数和运行机制
常见的三种工厂类线程池线程池设计原理线程池常用阻塞队列线程池拒绝策略如何合理设计线程池里的线程数线程池内运行的线程抛异常,线程池会怎么办线程池状态如何合理设置线程池队列长度
2019-03-05 23:08:18 3975
一个在有序行和列的矩阵中选择第k小元素的O(n)时间复杂度算法
2024-01-01
华为鸿蒙4谷歌鸿蒙GMS安装的安装包
2023-10-23
cdh5.9.3.rar
2021-07-20
Highcharts案例.rar
2020-07-13
elasticsearch-5.6.3+kibana-5.6.3+logstash-5.6.3.rar
2019-09-15
elasticsearch-analysis-ik-5.2.0.rar
2019-09-12
基于SSH的电子办公系统
2014-07-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人