摘要:RPC框架称为远程调用框架,其实现的核心原理就是消费者端使用动态代理来代理一个接口的方法(基于JDK的动态代理,当然如果使用CGLib可以直接使用无接口类的方法),通过加入网络传输编程,传输调用接口方法名称,方法参数来给提供者获取,再通过反射,来执行该接口的方法,再将反射执行的结果通过网络编程传回消
阅读全文
文章分类 - architecture
摘要:git地址:https://github.com/yinjihuan/sharding-jdbc 剧情回顾 前面,我们一共学习了读写分离,垂直拆分,垂直拆分+读写分离。对应的文章分别如下: Sharding-JDBC:查询量大如何优化? Sharding-JDBC:垂直拆分怎么做? 通过上面的优化,
阅读全文
摘要:一 什么三阶段提交协议(3PC) 3PC是2PC的改进版本。主要有以下改进: 增加了一个询问阶段,询问阶段可以确保尽可能早的发现无法执行操作而需要中止的行为,但是它并不能发现所有的这种行为,只会减少这种情况的发生。 增加了等待超时的处理逻辑,如果在询问阶段等待超时,则自动中止;如果在准备阶段之后等待
阅读全文
摘要:分布式事务(1) 2PC和3PC原理 分布式事物基本理论:基本遵循CPA理论,采用柔性事物特征,软状态或者最终一致性特点保证分布式事物一致性问题。 分布式事物常见解决方案: 2PC两段提交协议 3PC三段提交协议(弥补两端提交协议缺点) TCC或者GTS(阿里) 消息中间件最终一致性 使用LCN解决
阅读全文
摘要:常规写法: 查询出对应商品的库存,看是否大于0,然后执行生成订单等操作,但是在判断库存是否大于0处,如果在高并发下就会有问题,导致库存量出现负数 这里我就只谈redis的解决方案吧...我们先来看以下代码(这里我以laravel为例吧)是否能正确解决超抢/卖的问题: <?php $num = 10;
阅读全文
摘要:一.https抓包设置及手机设置: 1.安装好fiddler后,点击Tools--Fiddler Options;点击HTTPS模块,勾选Capture HTTPS CONNECTS、Decrypt HTTPS traffic(下拉框选择from all processes)、Ignore serv
阅读全文
摘要:一、使用Apache ab模拟并发压测 1、压测工具介绍 ab -t 60 -c 100 http://www.baidu
阅读全文
摘要:线程锁 在单进程的系统中,当存在多个线程可以同时改变某个变量(可变共享变量)时,就需要对变量或代码块做同步,使其在修改这种变量时能够线性执行消除并发修改变量。而同步的本质是通过锁来实现的。为了实现多个线程在一个时刻同一个代码块只能有一个线程可执行,那么需要在某个地方做个标记,这个标记必须每个线程都能
阅读全文
摘要:本文是学习了immoc网视频之后的个人理解和知识汇总 项目源码:https://github.com/jeff-leo/SpikeSystem,希望大家能star和fork 一、秒杀系统中存在高并发的点 一个秒杀系统的基本流程基本如上所示 用户请求详情页,系统时间,请求秒杀接口,执行秒杀操作都是位于
阅读全文
摘要:记录一下用nginx做反向代理,tomcat为web容器的域名绑定过程。 首先,当然是需要在域名管理器中配置域名指向自己的服务器IP(当然,域名都没有的还说个毛!) 然后就是配置nginx了, nginx基本配置: 找到nginx/conf/nginx.conf,做如下关键配置: upstream
阅读全文
摘要:目录 1、appender 1.1、ConsoleAppender 1.2、FileAppender 1.3、RollingFileAppender 1.4、其他**Appender 2、encoder 正文 回到顶部 1、appender <appender>是<configuration>的子节
阅读全文
摘要:目录 1、根节点包含的属性 2、根节点的子节点 2.1、设置上下文名称: 2.2、设置loger、root 正文 回到顶部 1、根节点<configuration>包含的属性 scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。 scanPeriod: 设置
阅读全文
摘要:网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。 因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"API First"的设计思想。RESTful API是目前比较成熟的一套互
阅读全文
摘要:看到云友,在 http://ipv6-test.com 提交网址检测IPv6访问时,会问到为什么“IPv6 DNS server”检测不能通过。 可能因为国内大环境的条件限制,包括阿里云提供的免费“云解析DNS”服务,虽然能提供AAAA解析,但DNS服务器本身可能是没有IPv6地址的,所以使用阿里云
阅读全文
摘要:IPv6可用dns: https://zh.wikipedia.org/wiki/Google_Public_DNS ipv4转v6: http://www.ipv6su.com/
阅读全文
摘要:阿里云服务器如何设置IPV6通过appstore的审核 苹果上架要求:要求支持IPV6only(因为阿里云主机没有IPV6only) 确认IPV6是否开启: 方式1:使用ifconfig查看自己的IP地址是否含有IPv6地址。 方式2.查看服务监听的IP中是否有IPv6格式的地址。(netstat
阅读全文
摘要:自从AppStore要求必须支持IPv6后,国民感到震惊的同时,也加速了国内的ipv6的普及。 但是国内的服务器托管商(比如阿里云)几乎都不支持IPv6。 本文是博主金亚大王呕心沥血的填坑之旅,亲测可行,完美支持IPv6 关键词: 阿里云,ECS, IPV6, CDN,IPV6隧道 废话不多说,说说
阅读全文
摘要:http://video.tudou.com/v/XMjM1OTQ4NzU0MA==.html
阅读全文
摘要:转自: 知乎用户suhua su 首先要明确一点:REST 实际上只是一种设计风格,它并不是标准。(所以你可以看到网上一大堆的各种最佳实践,设计指南,但是没有人说设计标准)。aisuhua/restful-api-design-references · GitHub 说说几个重要的概念: 1、RES
阅读全文
摘要:java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,有不得不使用数据库连接池。数据库连接池有很多选择,c3p、dhcp、proxool等,druid作为一名后起之秀,凭借其出色的性能,也逐渐印入了大家的眼帘。接下来本教程就说一下druid的简单使用。 首先从 http://repo1.
阅读全文