![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式网站
文章平均质量分 71
glory-of-me
这个作者很懒,什么都没留下…
展开
-
令牌桶算法和漏桶算法以及流量控制浅谈
在双十一等大促环节,系统需要限流,外部需要在我制定的速率限制来调用(超出的流量直接挡掉,系统不进行处理),有没有理论依据呢?这里看了两个算法约定访问速率是流量管理中比较常用的方法之一,令牌桶算法,是目前最常用的流量限制的方法。 什么是令牌桶算法? 令牌桶算法是网络流量整形(Traffic Shaping)和速率限制转载 2016-06-14 21:27:44 · 2963 阅读 · 1 评论 -
Redis作者:深度剖析Redis持久化
Redis是一种面向“key-value”类型数据的分布式NoSQL数据库系统,具有高性能、持久存储、适应高并发应用场景等优势。它虽然起步较晚,但发展却十分迅速。 近日,Redis的作者在博客中写到,他看到的所有针对Redis的讨论中,对Redis持久化的误解是最大的,于是他写了一篇长文来对Redis的持久化进行了系统性的论述。文章主要包含三个方面:Redis持久化是如何工作的、这一性能是转载 2016-06-21 00:41:47 · 492 阅读 · 0 评论 -
安装rabbitmq
参照官方安装指南:http://www.rabbitmq.com/install-rpm.html1.Install Erlanghttps://www.erlang-solutions.com/resources/download.html1. Adding repository entrywget https://packages.e原创 2016-06-18 01:07:53 · 375 阅读 · 0 评论 -
流量调整和限流技术
在早期的计算机领域,限流技术(time limiting)被用作控制网络接口收发通信数据的速率。 可以用来优化性能,减少延迟和提高带宽等。 现在在互联网领域,也借鉴了这个概念, 用来为服务控制请求的速率, 如果双十一的限流, 12306的抢票等。 即使在细粒度的软件架构中,也有类似的概念。两种常用算法令牌桶(Token Bucket)和漏桶(leaky bucket)是 最常用转载 2016-06-14 21:57:02 · 3313 阅读 · 0 评论 -
一致性hash算法 - consistent hashing
这一篇文章很棒,解释的很详细,相比之前转过的一篇文章,有一定精简,资料链接很全,是不错的进一步学习的资料。-------------------------------------------------------------------------------------------------------------------------------------------------转载 2016-06-02 23:17:33 · 424 阅读 · 0 评论 -
KeeperErrorCode = Unimplemented for /service 错误
使用Curator时报错,原因是因为版本问题zookeeper版本:zookeeper-3.4.8cuartor版本:3.2.0看Curator官网的声明:地址:http://curator.apache.org/The are currently two released versions of Curator, 2.x.x and 3.x.x:Curator原创 2016-07-20 13:40:31 · 9883 阅读 · 2 评论 -
protocol buffers 序列化实例
protocol buffers1.首先是proto文件编写 addressbook.protopackage tutorial;option java_package = "com.example.tutorial";option java_outer_classname = "AddressBookProtos";message Person{ required原创 2016-07-21 16:03:49 · 963 阅读 · 0 评论 -
Zookeeper使用场景
这篇文章写的很好,很全面!------------------------------------------------------------------------ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不转载 2016-07-17 16:41:30 · 381 阅读 · 0 评论 -
对海量小文件存储优化的一些理解和TFS介绍
在研究图片服务器问题时,了解到现在很多大公司基本上都是用分布式文件系统来存储海量小文件,比如Facebook有haystack,淘宝有TFS,京东有JFS。最近在研究TFS,结合之前学习的linux下的inode相关知识,了解到在ext文件系统中,对一个文件的读需要先从磁盘中读取到文件对应的Inode,然后根据inode获取到对应的block的位置信息,进行第二次磁盘读取目标文件的内容,这样就需要原创 2016-08-28 21:54:52 · 15457 阅读 · 0 评论 -
缓存击穿,缓存失效造成问题的解决方案
我们在用缓存的时候,不管是Redis或者Memcached,基本上会通用遇到以下三个问题:缓存穿透缓存并发缓存失效一、缓存穿透Paste_Image.pngPaste_Image.pngPaste_Image.png注:上面三个图会有什么问题呢?我们在项目中使用缓存通常都是先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在转载 2016-08-22 15:30:20 · 12679 阅读 · 2 评论 -
AbstractRoutingDataSource源码分析
AbstractRoutingDataSource源码:/* * Copyright 2002-2012 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in原创 2016-07-03 18:42:04 · 2034 阅读 · 1 评论 -
spring 使用redis集群配置
上面两篇介绍了redis集群的配置合一些基本的概念,所以接下来当然是要在项目中使用咯,redis的java支持已经做的非常好了,所以我们来试着使用这些api来进行redis的操作,首先我们需要操作redis的架包: redis.clients jedis 2.7.3 我们需要做的仅仅是在spring配置文件中注入这转载 2016-07-03 14:58:47 · 2688 阅读 · 0 评论 -
RPC和MQ对比及其适用/不适用场合
在阿里的平台技术部参与开发了Dubbo(远程调用服务)和Napoli(消息解决方案),又给网站应用支持这2个产品很长一段时间,了解了这2个产品的实现及应用对这两个产品的用法。大部分情况下,“给定场景下应该使用这两个产品中哪个”这个问题,大家都会容易决定,而且不需要多少讨论。我为什么要拿出来讨论一下:一些场景会比较模糊,觉得都可以使用。这时需要知道产品缺点,而不是看到优势。一转载 2016-06-21 16:14:26 · 13349 阅读 · 1 评论 -
关于dubbo的服务降级
一、dubbo降级服务 dubbo开发中,可能由于服务没有启动或者网络不通,调用中会出现RpcException,也就是远程调用失败。如果是服务启动顺序的问题,可能加工check="false"的配置可以得到很好的解决。但是,如果是服务宕掉或者并发数太高导致的RpcException该如何处理? 经过过12306抢票的人应该经常会遇到这个问题:在抢票高峰的时候,转载 2016-06-10 09:56:03 · 1808 阅读 · 1 评论 -
服务的升级和降级
1.开关 先讲一下开关的由来,例如京东在6月18日做店庆促销活动,在交易下单环节,可能需要调用A、B、C三个接口来完成,但是其实A和B是必须的,C只是附加的功能(例如在下单的时候做一下推荐),可有可无,在平时系统没有压力,容量充足的情况下,调用下没问题,但是在类似店庆之类的大促环节,系统已经满负荷了,这时候其实完全可以不去调用C接口,怎么实现这个呢?改代码?no,no,no转载 2016-06-10 09:55:00 · 4783 阅读 · 0 评论 -
关于分布式事务杂谈
知乎上关于分布式事务问题的讨论,问题地址:http://www.zhihu.com/question/29483490作者:何明璐链接:http://www.zhihu.com/question/29483490/answer/98237582来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。首先是不建议采用XA两阶段提交方式去处理分布式事务转载 2016-06-04 15:48:54 · 493 阅读 · 0 评论 -
分布式事务处理
当我们在生产线上用一台服务器来提供数据服务的时候,我会遇到如下的两个问题:1)一台服务器的性能不足以提供足够的能力服务于所有的网络请求。2)我们总是害怕我们的这台服务器停机,造成服务不可用或是数据丢失。于是我们不得不对我们的服务器进行扩展,加入更多的机器来分担性能上的问题,以及来解决单点故障问题。 通常,我们会通过两种手段来扩展我们的数据服务:1)数据分区:就是把数转载 2016-06-04 15:46:09 · 429 阅读 · 0 评论 -
微服务、单体应用以及NoOps
一个单体应用程序,通俗来说就是应用程序的全部功能被一起打包作为单个单元或应用程序。 这个单元可以是JAR、WAR、EAR,或其他一些归档格式,但其全部集成在一个单一的单元。 例如在线购物网站通常会包括客户、产品、目录、结帐等功能。 另一个例子是如下的movieplex。这样的应用程序通常由节目预订、添加/删除的电影、票房收入、电影起租点和其他功能组成。在单体应用程序的情况下,所有这些功能的实现和打转载 2016-06-04 15:45:00 · 1109 阅读 · 0 评论 -
分布式与集群的联系与区别
先说区别:一句话:分布式是并联工作的,集群是串联工作的。1:分布式是指将不同的业务分布在不同的地方。 而集群指的是将几台服务器集中在一起,实现同一业务。 分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。 举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,转载 2016-06-04 10:18:07 · 359 阅读 · 0 评论 -
Spring AbstractRoutingDataSource 实现动态数据源切换
这篇文章最后使用的AOP方式动态切换数据源,上一篇没有这部分实现--------------------------------------------------------------------------------------------------一、前言 近期一项目A需实现数据同步到另一项目B数据库中,在不改变B项目的情况下,只好选择项目A中切换数据源,转载 2016-07-03 15:26:27 · 480 阅读 · 0 评论 -
AbstractRoutingDataSource实现多数据源
这篇文章介绍了实现多数据源,但是缺点是没有介绍数据源切换的具体实现,应该是手动切换,更好的方法是通过AspectJ做AOP切面实现自动的数据源切换,可以实现多数据源切换和读写分离-------------------------------------------------------------------------------------------------最近要为公司转载 2016-07-03 15:20:26 · 645 阅读 · 0 评论 -
RedisCluster 安装
之前在研究redis的高性能和高可用性时,经历了:单机redis->redis主从->ShardJedis 客户端分片->Redis Sentinel 主从切换高可用->Redis Cluster其中简单了解了一下使用中间件的方案,比如出名的有:keepalived+twemproxy+redis主从+keepalived 实现高可用和高性能。参考过的一篇关于redis c转载 2016-08-23 23:50:28 · 616 阅读 · 0 评论