分布式系统
文章平均质量分 82
iteye_11305
这个作者很懒,什么都没留下…
展开
-
软件系统的幂等性控制
什么是幂等性幂等性应用在软件系统中,我把它简单定义为:某个函数或者某个接口使用相同参数调用一次或者无限次,其造成的后果是一样的,在实际应用中一般针对于接口进行幂等性设计。举个栗子,在系统中,调用方A调用系统B的接口进行用户的扣费操作时,由于网络不稳定,A重试了N次该请求,那么不管B是否接收到多少次请求,都应该保证只会扣除该用户一次费用。幂等性设计幂等性一般应用于协议设计,TCP协议...原创 2016-12-31 23:02:21 · 564 阅读 · 0 评论 -
linux下open too many files错误Socket未正确关闭的处理方法
linux下open too many files错误Socket未正确关闭的处理方法1. 首先用lsof -p PID 查看一下打开文件的列表如果出现下图状况基本就两种可能,stream未关闭或者socket未关闭,出现can't identify protocol字样2. 用netstat -anp | grep PID查看端口占用情况,若出现下图情况,证明Socke...原创 2017-02-03 12:11:59 · 280 阅读 · 0 评论 -
Lucene的基本概念
Lucene是什么? Lucene是一款高性能、可扩展的信息检索工具库。信息检索是指文档搜索、文档内信息搜索或者文档相关的元数据搜索等操作。 信息检索流程如下: 1、 将即将检索的资源集合放到本地,并使用某种特定的结构存储,称为索引,这个索引的集合称为索引库。由于索引库的结构按照专门为快速查询设计的,所以查询的速度非常的快; 2、 搜索操作时都...原创 2017-02-02 21:16:14 · 182 阅读 · 0 评论 -
Spring整合JMS——基于ActiveMQ实现
1.1 JMS简介 JMS的全称是Java Message Service,即Java消息服务。它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息。把它应用到实际的业务需求中的话我们可以在特定的时候利用生产者生成一消息,并进行发送,对应的消费者在接收到对应的消息后去完成对应的业务逻辑。对于消息的传递有两种类型,一种是点对点的,即一个生...原创 2017-02-02 19:39:51 · 77 阅读 · 0 评论 -
hbase应用场景和不适用的场景
适用的场景:摘自facebook的相关文档1 storing large amounts of data(100s of TBs) 存储大量的数据(100s TB级数据)2 need high write throughput 需要很高的写吞吐量3 need efficient random access (key lookups) within large data sets 在...原创 2017-02-02 18:47:19 · 5864 阅读 · 0 评论 -
redis中缓存的数据与数据库数据一致性的方案
方式1:数据库保存数据,redis不persistredis启动后,从数据库加载数据不要求强一致实时性的读请求,都由redis处理要求强一致实时性的读请求,由数据库处理写请求有2种处理方式,由数据库处理- 应用先写道数据库,然后更新redis- 应用先写道数据库,然后其它daemon同步到redis优点:redis启动不用处理redis数据和数据库不一致缺点:redis启动给数据库很大的读压力方...原创 2017-02-02 18:02:58 · 600 阅读 · 0 评论 -
Spring集成Memcached三种方式
Memcached Client目前有3种: Memcached Client for Java SpyMemcached XMemcached这三种Client一直存在各种争议: Memcached Client for Java 比 SpyMemcached更稳定、更早、更广泛; SpyMemcached 比 Memcached Client for Java更高效; XMemcach...原创 2017-02-02 16:40:42 · 110 阅读 · 0 评论 -
轻量级分布式 RPC 框架
转https://my.oschina.net/huangyong/blog/361751RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。RPC 可基于 HTTP 或 TCP 协议,Web Service 就是基于 HTTP 协议的 RPC,它具有良好的跨平台性,但其性能却不如基于 TCP 协议的 R...原创 2017-01-30 16:20:05 · 71 阅读 · 0 评论 -
一个简易RPC框架
转:javatar.iteye.com/blog/1123915因为要给百技上实训课,让新同学们自行实现一个简易RPC框架,在准备PPT时,就想写个示例,发现原来一个RPC框架只要一个类,10来分钟就可以写完了,虽然简陋,也晒晒: Java代码 /* * Copyright 2011 Alibaba.com All right reserved. This sof...原创 2017-01-29 13:49:21 · 111 阅读 · 0 评论 -
消息系统在微服务间通讯的数据一致性
前言 微服务是当下的热门话题,今天来聊下微服务中的一个敏感话题:如何保证微服务的数据一致性。谈到分布式事务,就避免不了CAP理论。 CAP理论是指对于一个分布式计算系统来说,不可能同时满足以下三点: 1. 一致性(Consistence) (等同于所有节点访问同一份最新的数据副本)2. 可用性(Availability)(对数据更新具备高可用性)3. ...原创 2017-01-15 21:47:22 · 202 阅读 · 0 评论 -
保证分布式系统数据一致性的6种方案
摘要: 在电商等业务中,系统一般由多个独立的服务组成,如何解决分布式调用时候数据的一致性?具体业务场景如下,比如一个业务操作,如果同时调用服务 A、B、C,需要满足要么同时成功;要么同时失败。A、B、C 可 ... 问题的起源在电商等业务中,系统一般由多个独立的服务组成,如何解决分布式调用时候数据的一致性? 具体业务场景如下,比如一个业务操作...原创 2017-01-15 19:08:27 · 123 阅读 · 0 评论 -
Base: 一种 Acid 的替代方案
Base: 一种 Acid 的替代方案 原文链接: BASE: An Acid Alternative Pdf下载链接: Base数据库 ACID,都不陌生:原子性、一致性、隔离性和持久性,这在单台服务器就能搞定的时代,很容易实现,但是到了现在,面对如此庞大的访问量和数据量,单台服务器已经不可能适应了,而 ACID 在集群环境,几乎不可能达到我们的预期,保证了 ACID,效率...原创 2017-01-15 18:13:57 · 108 阅读 · 0 评论 -
使用消息队列解决数据最终一致性
http://www.cnblogs.com/LBSer/p/4715395.html 前阵子从支付宝转账1万块钱到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万之后,如果系统挂掉怎么办,这时余额宝账户并没有增加1万,数据就会出现不一致状况了。 上述场景在各个类型的系统中都能找到相似影子,比如在电商系统中,当有用户下单后,除了在订单表插入一条...原创 2017-01-15 17:50:56 · 2615 阅读 · 0 评论 -
秒杀系统架构优化思路
2016-04-06 58沈剑 架构师之路本文曾在“架构师之路”上发布过,近期支援Qcon-AS大会,在微信群里分享了该话题,故对原文进行重新整理与发布。 一、秒杀业务为什么难做1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息);2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据;3)秒杀系统,库存只有一份,所有人会在集中...原创 2017-01-07 20:11:46 · 92 阅读 · 0 评论 -
分布式事务
1、什么是分布式事务分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。以上是百度百科的解释,简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。2、分布式事务的产生的...原创 2017-01-01 12:37:18 · 76 阅读 · 0 评论 -
大型网站技术架构-读书笔记
大型网站核心架构5要素: 一、性能 1.Web前端性能优化。 (1)浏览器访问优化: ①减少http请求:因为http是无状态的,每次请求的开销都比较昂贵(需要建立通信链路、进行数据传输,而服务器端对于每个http请求都需要启动独立的线程去处理);减少http的主要手段是合并CSS、合并JS、合并图片(CSS精灵,利用偏移定位image); ②使用...原创 2017-02-03 22:15:30 · 110 阅读 · 0 评论