自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

转载 双机架构

存储高可用方案的本质都是通过将数据复制到多个存储设备,通过数据冗余的方式来实现高可用,其复杂性主要体现在如何应对复制延迟和中断导致的数据不一致问题对任何一个高可用存储方案,需要从以下几个方面去进行思考和分析:数据如何复制?各个节点的职责是什么? 如何应对复制延迟?如何应对复制中断?常见的双机高可用架构:主备、主从、主备/主从切换和主主。主备复制主备复制是最常见也是最简单的一...

2018-11-05 17:43:24 731

转载 高性能负载均衡

单服务器无论如何优化,无论采用多好的硬件,总会有一个性能天花板,当单服务器的性能无法满足业务需求时,就需要设计高性能集群来提升系统整体的处理性能。由于计算本身存在一个特点:同样的输入数据和逻辑,无论在哪台服务器上执行,都应该得到相同的输出。因此高性能集群设计的复杂度主要体现在任务分配这部分,需要设计合理的任务分配策略,将计算任务分配到多台服务器上执行。高性能集群的复杂性主要体现在需要增加一...

2018-11-02 16:07:37 514

转载 高性能

高性能架构设计主要集中在两方面: 尽量提升单服务器的性能,将单服务器的性能发挥到极致。如果单服务器无法支撑性能,设计服务器集群方案。除了以上两点,最终系统能否实现高性能,还和具体的实现及编码相关。但架构设计是高性能的基础,如果架构设计没有做到高性能,则后面的具体实现和编码能提升的空间是有限的。形象地说,架构设计决定了系统性能的上限,实现细节决定了系统性能的下限。单服务器高性能的关键之一...

2018-11-02 14:44:25 307

转载 tcc-transaction 1.2.x 使用指南

1.2.x支持rpc框架支持隐式传参情况下将事务上下文参数TransactionContext以隐式传参方式进行传递,目前支持rpc框架为dubbo时的隐式传参方式传递,具体配置可参考下面“rpc框架为dubbo时隐式传参方式配置”。配置tcc-transaction1 引用tcc-transaction在服务调用方和提供方项目中需要引用tcc-transaction-spring j...

2018-10-26 16:33:28 2576 1

原创 分布式事务

ACID在集群环境下,保证集群的ACID几乎是很难达到,或者即使能达到那么效率和性能会大幅下降。这就需要引入一个新的理论原则来适应这种集群的情况,就是 CAP 原则。在分布式系统中,一般可用性的重要程序比一致性要高,所以在通常我会选择AP,即牺牲部分一致性去保证可用性。根据BASE理论:我们无法做到强一致,但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性。在分布式系统中...

2018-10-22 17:32:52 204

原创 高性能数据库集群——读写分离、分库分表

读写分离高性能数据库集群的第一种方式是“读写分离”,其本质是将访问压力分散到集群中的多个节点,但是没有分散存储压力。第二种方式是“分库分表”,既可以分散访问压力,又可以分散存储压力。基本原理关于读写分离,基本原理是将数据库读写操作分散到不同的节点上,基本实现:1.数据库服务器搭建主从集群,一主一从、一主多从都可以。2.数据库主机负责读写操作,从机只负责读操作。3.数据库主机...

2018-10-20 16:06:32 552

原创 分布式下的服务发现

什么是服务发现首先,服务发现中有三个角色:服务提供者、消费者、中介;以租房的过程为例:房东座位服务提供者,将房屋信息(服务地址)在中介机构注册登记;租房人在中介查找自己想要住的地址,然后根据地址所匹配的服务去消费;中介提供了多个服务,每个服务也由多个服务提供者提供。服务中介就像字典,包含多喝k-v键值对,分别对应服务名和服务提供者的地址列表。服务注册向字典中put键值对,服务发现就是根据服务名查...

2018-10-11 10:03:27 845

原创 架构设计的三个原则

合适原则、简单原则、演化原则,架构设计时遵循这几个原则,有助于做出最好的选择。合适原则“合适优于业界领先”大公司的分工比较细,一个小系统可能就是一个小组负责,比如说某个通信大厂,做一个OM管理系统就有十几个人,阿里的中间件团队有几十个人,而大部分公司,整个研发团队可能就100多人,某个业务团队可能就十几个人。十几个人的团队,想做几十个人的团队的事情,而且还要做得更好,不能说绝对不可能,...

2018-09-19 15:55:35 2856

原创 系统复杂度的几个方面

系统与子系统系统:系统是由一群有关联的个体组成的,规则:系统内的个体需要按照指定的规则运作。规则规定了系统内个体分工和协作的方式。 能力:系统能力与个体能力有本质的差别,系统能力不是个体能力之和,而是产生了新的能力。子系统:其实子系统的定义和系统定义是一样的,只是观察的角度有差异,一个系统可能是另外一个更大系统的子系统。按照这个定义,系统和子系统比较容易理解。我们以微信为例来做一个...

2018-09-19 10:02:09 5658

原创 数据一致性问题

1.数据库数据的正确性事务的ACID四个特性保证了一个事务的正确性。1.原子性,简单来说就是一件事,做完或者不做,不会有中间中断的情况发生。一旦发生错误,就回到开始之前的状态。2.一致性,在事务开始之前和结束之后,数据完整性不被破坏。3.隔离性,允许并发事务对数据同时进行读写。防止多个事务交叉执行而导致数据不一致。事务隔离分为读未提交、读提交、可重复读和串行化。4.持久性,事务...

2018-09-18 10:44:36 14646

原创 HashMap介绍

        HashMap继承了AbstractMap类实现了Map、Cloneable、Serializable接口。继承关系上看是从Java中顶级从父类Object开始到抽象类的AbstractMap再到的子类HashMap。   Hash实际上就是散列,当我们输入一个值的时候首先会进行一次散列算法,将长度不同的输入转换成固定长度的输出。每一个Object对象都有一个hashCode值,经...

2018-07-15 05:27:12 252

spring-framework-5.0.2.RELEASE-小椰子中文注释版.zip

spring源码中文注释,便于学习交流。阅读源码,学习业界规范。

2019-07-10

空空如也

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

TA关注的人

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