自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AI

All in AI

  • 博客(22)
  • 资源 (20)
  • 收藏
  • 关注

原创 从梁飞的微型rpc 细节说起--Dubbo源码系列解读(5)

7年前,梁飞公布了一个微型的rpc,这个rpc核心就是一个类,2个方法,但重点我们要探讨是细节的设计和质量一些问题package com.rpc;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.lang.reflect.Method;import java.net.ServerS...

2018-05-30 17:12:22 1370

原创 Dubbo spi extension & Schema--Dubbo源码系列解读(4)

我们先看下dubbo schema应用以上的标签是怎么读的,读完之后怎么又是怎么解析,解析之后又干嘛,通过什么方式进行spi扩展的,我们在这里解决2方面问题,一说明下机制和原理的东西,二用一个Demo实现shema其实,spring源码是这么玩的,当年我做分布式缓存框架也是这么玩的我们以协议为例,其他的先隐藏跑起schema定义和解析经过spring ioc处理后,就直接进入的spi extens...

2018-05-29 22:37:28 356

原创 Dubbo spi extension 关系导图--Dubbo源码系列解读(3)

说明1、双箭头表示正向调用后层层往回调2、其他的箭头或虚线或无箭头按UML关系看3、注意这是dubbo协议一个测试用例调用关系导图 延伸阅读Dubbo spi extension 源码原理--Dubbo源码系列解读(1)Dubbo spi 设计模式&用例源码--Dubbo源码系列解读(2)...

2018-05-29 00:26:49 452

原创 Dubbo spi 设计模式&用例源码--Dubbo源码系列解读(2)

1、jdk spi spi服务发现即动态替换发现的机制 比如有个接口,在运行时动态的给它添加实现,只需要添加一个实现Demo  https://github.com/luozhonghua/dubbo-spiDemo 2、Dubbo SPI2.1、可以方便的获取某一个想要的扩展实现 2.2、对于扩展实现IOC依赖注入功能2.3、对扩展采用装饰器模式进行功能增强,类似AOP实现的功能 以Protoc...

2018-05-26 19:45:31 766

原创 Dubbo spi extension 源码原理--Dubbo源码系列解读(1)

写在前面阅读源码是比较耗时的,特别是经过千锤百炼的经典源码,创造者不易,阅读者更加不要轻易断定结论,像我之前有详细了解过spring cache源码模块也并非那么容易,如果很久不再读,也差不多忘记,如果理解了或理解的深度不够的(没形成源码架构体系)前提下会发生的;在经典源码面前,会发现之前工作范围内的框架源码不值得一提吧,本人在实现100万+QPS秒杀架构演进中,为了背后的密码必然会将涉及比较关键...

2018-05-26 12:13:44 679

原创 秒杀系统架构设计与实现(4)--监控monitor

我们在之前的架构设计中,应用服务器到底是怎么样,对我们来说是个黑洞,因此我们需要把他们监控起来,看清楚他们的行为特征和负载能力,这样才能更清楚直白的告诉运维,尽管我们有手段进行单一命令式监控,但对于分布式应用来说就非常棘手,里我们采用的是dubbox-monitor开源组件,关于dubbox2.8.4如何应用在后续会简单的说明下1、架构我们依然将8515这台服务器部署在115物理机上(后续演进10...

2018-05-24 22:45:40 798

原创 dubbo2.6.0源码编译--正确姿势

为什么要写源码编译?这里有2个原因,一是网络上几乎没有一个正确的姿势,二是为什么后续方便大家查阅解决正确又高效的源码编译,首先要有正确的git clone1,正确的gitgit clone -b dubbo-2.6.0 https://github.com/apache/incubator-dubbo.git关于git命令大家自己去问度娘2,正确转换源码工程:mvn idea:idea  或者mv...

2018-05-24 17:54:53 3503

原创 JMeter4.0分布式调度压测部署--正确姿势

在上一篇,秒杀系统架构设计与实现(3)--20万QPS(https://blog.csdn.net/luozhonghua2014/article/details/80404386)我们遇到jmeter被假死死了,这里有2个原因,一是jmeter原本是java写的,heap受硬件限制需要调优,二是单机无法分解超大并发比如100万+并发压测,因此,我们分二部走,首先我们需要进行jmeter分布式部...

2018-05-23 13:04:26 26649 5

原创 秒杀系统架构设计与实现(3)--20万QPS

这次架构演进,主要增加前端nginx反向代理,提升单台物理机单服务器利用率,分解web服务器压力;1、未物理分离压测软件,2,物理分离压测软件这2种情况1,未物理分离压测软件,20万QPS1.1  架构1.2  开压前1.3  20万QPS开压后1.4 db情况库存订单数据完整注:未分离情况下,20万QPS,目前一台物理机已是最大承载能力了,再高jmeter会卡死(如果设置jmeter分布式调度可...

2018-05-22 16:30:46 4726 1

原创 秒杀系统架构设计与实现(2)--15万QPS

前面我们进行了二版简单的架构设计与实现(详细点击 1万+QPS秒杀 , 10万+QPS秒杀),这版我们继续架构演进,主要服务与服务进行解耦1、架构2、开压15万QPS一台机器(部署可以看https://blog.csdn.net/luozhonghua2014/article/details/80362614)的确有点扛不住了 ~哈哈3、看看DB如何了嗯,数据完整4、 服务解耦提供者服务,我们采用...

2018-05-21 19:17:22 2875 1

原创 源码解读 Duplicate entry '' for key 'PRIMARY' 坑

在kafka发送消息到另一个service,service执行sql, 首次或前2次执行正常C操作,但后续2次或以后的操作必然发生以下错误:### Error updating database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '...

2018-05-21 17:59:43 81757

原创 10万+QPS秒杀限流组件设计与实现

我们在简化版1万+QPS(https://blog.csdn.net/luozhonghua2014/article/details/80384061)设计架构上增强限流设计来应对100万+QPS峰值保障系统可用的措施之一那么,我们如何设计呢?通过拦截web请求,将流量限制在最前web端,然后用redis脚本lua做拦截校验,从而达成超大并发的限流,保障系统不会引起雪崩,达成可用开压12万QPSd...

2018-05-21 01:12:22 7711 1

原创 1万+QPS秒杀最低成本架构与实现

开篇https://blog.csdn.net/luozhonghua2014/article/details/80362614是为10万+QPS实现的条件然而一万+QPS又如何实现呢?简化版-架构核心实现压测数据结果redis源码:https://github.com/luozhonghua/SSM...

2018-05-20 18:42:44 12844

原创 Error while fetching metadata with correlation id : {LEADER_NOT_AVAILABLE} 正确处理姿势

kafka出现:Error while fetching metadata with correlation id : {LEADER_NOT_AVAILABLE}表示无法识别kafka hostname正确处理姿势1、修改server.properties如下,目的是让kafka监听的到vi /opt/kafka/kafka/config/server.properties2 ps...

2018-05-18 21:20:51 129680 9

原创 秒杀系统搭建与部署(1)---开篇

------------------开源秒杀系统V.0.0.1环境要求和说明及基础软件详细搭建-------------1、硬件与基础软件最低配置要求CPUamd64, 4 coresHostwindows10.microdone.cn/192.168.56.1JavaJava(TM) SE Runtime Environment 1.8.0_121-b13Localezh_CN/GBKOSWin...

2018-05-18 12:37:10 2936

原创 reids centos7单机多节点集群部署-正确的姿势

因设计10万级以上qps秒杀开源系统,需部署redis 集群虽说单机多节点,实际与真实多物理机多节点方式几乎一样一、安装redis1、安装gcc环境yum install gcc-c++2、下载源码包并解压wget http://download.redis.io/releases/redis-3.2.4.tar.gztar -zxvf redis-3.2.4.tar.gzcd redis-3.2...

2018-05-17 00:05:39 939

原创 springboot activemq gradle构建示例

1,build.gradlebuildscript { ext { springBootVersion = "1.5.4.RELEASE" } repositories { maven { url "http://maven.aliyun.com/nexus/content/groups/public/" ...

2018-05-12 13:24:59 590

原创 activemq centos环境配置、验证

基于一些老系统还在用activemq  因此搭建下,下面地址的版本是下载最快的1,官方下载  http://activemq.apache.org/activemq-5122-release.html   apache-activemq-5.15.2-bin.tar.gz2,tar -zxvf apache-activemq-5.15.2-bin.tar.gz3 开启自启 cd /etc/init...

2018-05-12 10:35:00 547

转载 数据库原理

一提到关系型数据库,我禁不住想:有些东西被忽视了。关系型数据库无处不在,而且种类繁多,从小巧实用的 SQLite 到强大的 Teradata 。但很少有文章讲解数据库是如何工作的。你可以自己谷歌/百度一下『关系型数据库原理』,看看结果多么的稀少【译者注:百度为您找到相关结果约1,850,000个…】 ,而且找到的那些文章都很短。现在如果你查找最近时髦的技术(大数据、NoSQL或JavaScript...

2018-05-06 01:45:53 684

转载 教你初步了解红黑树

                 教你初步了解红黑树 作者:July、saturnman   2010年12月29日本文参考:Google、算法导论、STL源码剖析、计算机程序设计艺术。推荐阅读:Left-Leaning Red-Black Trees, Dagstuhl Workshop on Data Structures, Wadern, Germany, February, 2008,直接...

2018-05-04 10:35:39 158

原创 模版设计模式高并发设计思路与案例

我们先来跑一趟,模式设计模式在高并发下效果开启了5个线程并发,首次执行,除了第一次走db,其余都走cache,且cache未击穿,耗时9毫秒模版设计思路我们从单线程业务实现,考虑到真正的业务其实就是userMapper.findUserById(1)因此首先我们剥离非业务代码如何剥离呢,从上面看出,需要设计一个通用的查询缓存接口,然后每个开发业务方法要采用缓存就调用这个查询缓存的模版方法findC...

2018-05-03 11:39:32 352

原创 分库分表ACID解决方案(2)shardingjdbc+springboot Demo

demo源码:https://github.com/luozhonghua/springboot-demo原理1、自定义分库分表2,分库分表唯一性主键Twitter Snowflake算法实现DefaultKeyGenerator详情:http://www.iocoder.cn/Sharding-JDBC/distributed-id/shardingjdbc 中文http://shardingj...

2018-05-01 21:56:41 1472

IOT网关设计与实现-工业一体机(5)配套源码

功能:Session 管理、心跳管理、数据上行、数据下行

2022-05-10

通信与协议Netty+Protobuf-游戏设计与开发(1)配套代码

通信与协议Netty+Protobuf-游戏设计与开发(1)配套代码

2022-04-06

数据采集与数据挖掘简单设计与实现配套代码

数据采集与数据挖掘简单设计与实现配套代码

2022-04-05

我国银行对个人信用信息的供需分析及实证研究

我国银行对个人信用信息的供需分析及实证研究

2022-03-19

入侵检测检测系统snort开源

入侵检测检测系统snort开源

2022-03-19

IntelliJ IDEA使用(一)基本设置与类、方法模板设置

IntelliJ IDEA使用(一)基本设置与类、方法模板设置

2022-03-19

分布式关系数据库事务管理器的设计与实现

分布式关系数据库事务管理器的设计与实现

2022-03-19

嵌入式开发攻略.txt

不错的资料分享了,嵌入式开发, 硬件开发技术, 学习路线攻略 , 包含各种资料推荐等,当然这些资料需求你自己去整理

2019-12-27

分布式多级缓存实践

此文可借鉴作为分布式缓存中间件实现方案

2016-12-21

Mybatis(dao)缓存|mybatis+redis(dao+service)缓存验证

dao,service 缓存设置,验证,代码

2016-12-14

this_scope_call_apply_bind_柯里化 详细分析

javascirpt this_scope_call_apply_bind_柯里化 详细分析

2016-03-16

WEB高性能解决方案系列主题.doc

WEB高性能解决方案系列主题,讲述了7大主题,从思想,经验,策略,干货,分享等层次详细分享了技术要点和方法技巧。

2016-03-11

mybatis一对多性能优化demo

mybatis 一对多性能优化 demo mybatis 一对多性能优化 demo

2015-08-02

Professional JavaScript Frameworks: Prototype,YUI, ExtJS, Dojo and MooTools

javascirpt框架高级编程 源代码,官方网站过来的

2015-05-09

每个程序员都应该了解的_CPU_高速缓存

每个程序员都应该了解的_CPU_高速缓存

2015-04-06

Dubbo demo

Dubbo demo 体验 初始程序代码

2015-03-09

was集群-架构合集

was集群-架构合集,理论,实操,文图说明 was集群和架构,ihs+was

2014-06-21

一个操作系统的实现 全部源代码 于渊

一个操作系统的实现 全部源代码 于渊

2014-06-21

空空如也

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

TA关注的人

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