架构设计
文章平均质量分 75
贺群
这个作者很懒,什么都没留下…
展开
-
macos快速搭建一个etcd集群
Docker笔记:底层实现macos快速搭建一个etcd集群1.先要把最新的镜像拉下来2.在一台机器配置了3个容器,在机器上创建了子网络,三台容器在一个网络里3.启动节点:macos快速搭建一个etcd集群要在mac os上搭建一个etcd集群用做开发环境,现将搭建过程记录下:1.先要把最新的镜像拉下来docker pull quay.io/coreos/etcd2.在一台机器配置了3个容器,在机器上创建了子网络,三台容器在一个网络里docker network create --subnet原创 2020-07-31 14:59:40 · 914 阅读 · 1 评论 -
策略模式与桥梁模式
这对冤家终于碰头了,策略模式与桥梁模式是如此相似,简直就是孪生兄弟,要把它们两个分开需要花费大量智力,我们来看看两者的通用类图,如图33-1所示。图33-1 策略模式(左)和桥梁模式(右)通用类图 什么?你没有看出两者之间很相似?如果把策略模式的环境角色变更为一个抽象类加一个实现类,或者桥梁模式的抽象角色未实现,只有修正抽象化角色,想想看,这两个类图有什么转载 2012-03-16 16:31:51 · 2265 阅读 · 0 评论 -
微信架构(转)
微信——腾讯战略级产品,创造移动互联网增速记录,10个月5000万手机用户,433天之内完成用户数从零到一亿的增长过程,千万级用户同时在线,摇一摇每天次数过亿...在技术架构上,微信是如何做到的?日前,在腾讯大讲堂在中山大学校园宣讲活动上,腾讯广研助理总经理、微信技术总监周颢在两小时的演讲中揭开了微信背后的秘密。周颢,2001年毕业于华南理工大学,计算机专业硕士。2005年加入腾讯转载 2012-07-27 13:48:18 · 25687 阅读 · 1 评论 -
SyncML介绍
SyncML介绍SyncML (Synchronization Markup Language)是一种平台无关的信息同步标准协议。 一个开放的标准,可以在兼容的设备、程序及网络进行数据同步,意思是,任何设备或程序可以获得一致的数据。SyncML是基于XML的(可扩展的标识语言)。SyncML目的是在若干网络,平台及设备间进行一个开放的,全行业规范的普遍的远程数据及个人信息的同步,是为了转载 2013-12-31 09:48:45 · 912 阅读 · 0 评论 -
C语言可变参数va_start、va_arg、va_end的用法
读Linux内核中的vsprintf函数的时候遇到了C语言的可变参数调用,查了挺多资料还是这篇比较详细,而且自己验证了下,确实如此(一)写一个简单的可变参数的C函数 下面我们来探讨如何写一个简单的可变参数的C函数.写可变参数的 C函数要在程序中用到以下这些宏: void va_start( va_list arg_ptr, prev_param ); type va_arg转载 2014-04-16 16:49:51 · 769 阅读 · 0 评论 -
Linux下高并发socket最大连接数
Linux下高并发socket最大连接数所受的限制问题 1、修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统转载 2014-10-15 15:56:32 · 1246 阅读 · 0 评论 -
微博feed系统推拉模式和时间分区拉模式架构探讨
sns系统,微博系统都应用到了feed(每条微博或者sns里的新鲜事等我们称作feed)系统,不管是twitter.com或者国内的新浪微博,人人网等,在各种技术社区,技术大会上都在分享自己的feed架构,也就是推拉模式(timyang上次也分享了新浪微薄的模式)。下面我们就微博的feed推拉(push,pull)模式做一下探讨,并提出新的时间分区拉模式。众所周知,在微博中,当你发表一篇微转载 2014-11-05 14:47:36 · 3137 阅读 · 0 评论 -
redis 持久化与备份策略
redis 持久化与备份策略转载 2015-11-23 16:17:09 · 505 阅读 · 0 评论 -
rabbmitmq安装笔记
项目中要使用到rabbmitmq,今天安装了下,笔记如下:1、下载安装包:wget https://github.com/rabbitmq/erlang-rpm/releases/download/v19.3.4/erlang-19.3.4-1.el7.centos.x86_64.rpmwget https://github.com/rabbitmq/erlang-rpm/releases/down原创 2017-05-23 15:39:20 · 1435 阅读 · 0 评论 -
解决RabbitMQ镜像集群脑裂问题
1、现象:项目中使用了rabbitmq的镜像模式集群,两个节点,昨天出现MQ集群不能正常消息通信,打开web管理界面:Network partition detectedMnesia reports that this RabbitMQ cluster has experienced a network partition. There is a risk of losing data. ...原创 2019-06-17 11:09:05 · 11791 阅读 · 0 评论 -
观察者设计模式
论坛上很多人都讲设计模式,也讲了很多设计模式,现在也来说说我对一些设计模式的理解,对于一些简单的模式就不多说了,一切都在我以前写的例子中使用到了,比如说在velocity和freemarker的比较那篇文章里用到了单例,工厂,方法模板,在java邮件,在简单和复杂之间那篇文章里用到了策略,适配,在easywebwork中也使用了几种设计模式,在哪些文章我没有对设计模式进行详细的讲解是因为我觉得那些转载 2011-12-07 09:32:00 · 793 阅读 · 0 评论 -
为什么使用 Redis及其产品定位
传统MySQL+ Memcached架构遇到的问题实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。Memcached与MySQL数据库数转载 2011-10-27 13:18:51 · 760 阅读 · 0 评论 -
SteveY对Amazon和Google平台的长篇大论
Steve Yegge, Amazon的前员工,现任Google员工,其本来想在Google+上和Google的员工讨论一些关于平台的东西,结果不小心把圈子设成了Public,结果这篇文章就公开给了全世界,引起了剧烈的反应。发布后很快他就马上把这篇文章删了,不过,互联网上早备份了下来——SteveY’s Google Platforms Rant。后来,Steve在其Google+上作了一些解转载 2011-11-16 13:32:10 · 699 阅读 · 0 评论 -
大数据量的存储,以及分表常见算法及其带来的问题,和微薄url的加密规则猜想
<br /> 当一个应用的数据量大的时候,我们用单表和单库来存储会严重影响操作速度,如mysql的myisam存储,我们经过测试,200w以下的时候,mysql的访问速度都很快,但是如果超过200w以上的数据,他的访问速度会急剧下降,影响到我们webapp的访问速度,而且数据量太大的话,如果用单表存储,就会使得系统相当的不稳定,mysql服务很容易挂掉。所以当数据量超过200w的时候,建议系统工程师还是考虑分表.<br /> 以下是几种常见的分表算法。 <br />1.按转载 2011-03-02 21:38:00 · 5756 阅读 · 1 评论 -
QQ游戏百万人同时在线服务器架构实现
<br />QQ游戏于前几日终于突破了百万人同时在线的关口,向着更为远大的目标迈进,这让其它众多传统的棋牌休闲游戏平台黯然失色,相比之下,联众似乎已经根本不是QQ的对手,因为QQ除了这100万的游戏在线人数外,它还拥有3亿多的注册量(当然很多是重复注册的)以及QQ聊天软件900万的同时在线率,我们已经可以预见未来由QQ构建起来的强大棋牌休闲游戏帝国。<br /><br /><br /> 那么,在技术上,QQ游戏到底是如何实现百万人同时在线并保持游戏高效率的呢?<br /> 事实上,针对于转载 2011-03-05 16:18:00 · 710 阅读 · 0 评论 -
Web站点数据库分布存储浅谈
<br />【 前言 】<br /><br /> 网 站在Web 2.0时代,时常面临迅速增加的访问量(这是好事情),但是我们的应用如何满足用户的访问需求,而且基本上我们看到的情况都是性能瓶颈都是在数据库上,这 个不怪数据库,毕竟要满足很大访问量确实对于任何一款数据库都是很大的压力,不论是商业数据库Oracle、MS SQL Server、DB2之类,还是开源的MySQL、PostgreSQL,都是很大的挑战,解决的方法很简单,就是把数据分散在不同的数据库上(可以是硬 件上的,也可以是逻转载 2011-03-05 16:56:00 · 468 阅读 · 0 评论 -
MySQL性能测试大总结
以下的文章主要是介绍MySQL性能测试的结论,我们大家都知道MySQL数据库在实际实用度主要是取决于MySQL数据库的性能,以下的文章主要就是对MySQL性能测试的一个总结,望你看完之后会有所收获。好像是zdnet的实验室做得一个权威测试吧sqlserver在windows下的性能oracle,MySQL在linux下的性能作比较(还有其他数据库系统,例如DB2,informi转载 2011-06-24 11:16:00 · 1003 阅读 · 1 评论 -
Mysql测试一:Mysql Slave群切换Master
测试环境:Type OS MysqlMaster rhel3.5 5.1.22-rc-logSlave1 rhel3.5 5.1.22-rc-logSlave2 rhel4.4 5.1.22-rc-log切换测试过程是:1) Mas转载 2011-06-30 19:36:00 · 703 阅读 · 0 评论 -
mysql 在国外facebook,flickr等公司内的使用情况
mysql conference现场提问的一个资料,网上见过很多版本了,这个表格版本看起来最直观ÂHow many serversNumber of DBAsHow many web serversNumber of caching servers原创 2011-08-21 17:11:40 · 747 阅读 · 0 评论 -
MySQL架构方案
Scale Out:横向扩展,增加处理节点提高整体处理能力Scale Out:横向扩展,增加处理节点提高整体处理能力Scale Up:纵向扩展,通过提升单个节点的处理能力达到提升整体处理能力的目的ReplicationMySQL的replication是异步的转载 2011-08-23 16:30:33 · 726 阅读 · 0 评论 -
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
第1章 引言随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的 互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层 已经成为架构研发人员首选转载 2011-10-18 13:53:56 · 594 阅读 · 0 评论 -
负载均衡器的比较
现在网络中常见的的负载均衡主要分为两种:一种是通过硬件来进行进行,常见的硬件有比较昂贵的NetScaler、F5、Radware和Array等商用的负载均衡器,也有类似于LVS、Nginx、HAproxy的基于Linux的开源的负载均衡策略,商用负载均衡里面NetScaler从效果上比F5的效率上更高。对于负载均衡器来说,不过商用负载均衡由于可以建立在四~七层协议之上,因此适用 面更广所以有其转载 2011-10-20 17:49:02 · 1086 阅读 · 0 评论 -
分布式 Key-Value 存储系统:Cassandra 入门
简介: Apache Cassandra 是一套开源分布式 Key-Value 存储系统。它最初由 Facebook 开发,用于储存特别大的数据。 Cassandra 不是一个数据库,它是一个混合型的非关系的数据库,类似于 Google 的 BigTable。本文主要从以下五个方面来介绍 Cassandra:Cassandra 的数据模型、安装和配制 Cassandra、常用编程语言使用 Cassandra 来存储数据、Cassandra 集群搭建。转载 2011-02-28 21:01:00 · 1040 阅读 · 0 评论