首页 文章 精选 留言 我的

精选列表

搜索[字节级],共10000篇文章
优秀的个人博客,低调大师

TableStore Timeline:轻松构建千万级IM和Feed流系统

场景 移动互联网时代,微信和微博已经成为这个时代的两大支柱类社交应用。这两类应用,其中一个是IM产品,一个是Feed流产品,微信的朋友圈也属于Feed流。如果再细心去发现,会发现基本所有移动App都有Feed流的功能:消息广场、个人关注、通知、新闻聚合和图片分享等等。各种各样的Feed流产品占据了我们生活的方方面面。 现状 IM和Feed流功能已经基本成为所有App标配,如何开发一个IM或者Feed流功能是很多架构师、工程师要面临的问题。虽然是一个常见功能,但仍然是一个巨大的挑战,要考虑的因素非常多,比如: 存储系统里面如何选型才能支持大量数据存储,而且价格便宜。 同步系统使用何种架构、推送模型和系统才能保证高并发的同时延迟稳定? 为了解决上述问题,我们之前推出了三篇文章来阐述: 现代IM系统中消息推送和存储架构的实现:介绍了IM系统的传统架构

优秀的个人博客,低调大师

JBoss企业级应用服务平台群集指南(二)

1.1.2服务架构 每个节点上的ClusterPartition MBean定义的群集拓扑结构(clustering topography)对系统管理员很重要。但是对于大部分的应用程序开发者来说,你可能更关心从客户应用程序的角度来看的群集架构。JBossAS支持两种群集架构:客户端拦截器(client-side interceptors)(proxies或stubs)和负载平衡系统(load balancers)。 1.1.2.1客户端拦截器 JBoss 应用服务器提供的大部分远程服务,包括JNDI、EJB、RMI和JBoss Remoting,都要求客户端获得(如,查找和下载)一个stub(或proxy)对象。占位对象(stub object)由服务器生成,它实现服务的商业接口。客户可对占位对象调用本地方法。这个调用会自动寻找路由,并被服务器管理的服务对象引用。在群集环境里,服务器生成的占位对象也是一个懂得怎样把调用指引向不同节点的拦截器。占位对象寻找合适的服务器节点、配置调用参数、解释调用结果,并把结果返回给调用程序。 stub interceptors 拥有群集系统的更新信息。例如,它们知道所有可用网络节点的IP地址,怎样在节点上分摊负载的算法(请参考下一部分内容),和如果目标节点不可用时对请求进行失效切换(failover)。对于每个服务请求,服务器节点都用群集里最新的信息来更新stub interceptor。例如,如果一个节点退出群集系统后,每个客户stub interceptor在下一次连接活动的节点时,都会用新的配置来更新。在service stub上的所有操作对于客户应用程序都是透明的。 如图1.2,“集群中的客户端拦截(代理)体系结构” 里说明了客户端拦截器群集架构。 图1.2.集群中的客户端拦截(代理)体系结构 1.1.2.2负载平衡系统 其他的JBoss服务,特别是HTTP web服务,不要求客户下载任何东西。客户端(如,web浏览器)按照某种通信协议(如HTTP协议)直接发送请求和接收回复。在这种情况下,负载平衡系统需要处理所有的请求并把它们分配给群集里的服务器节点。负载平衡系统是群集里的一个典型概念。它理解群集配置和失效切换策略(failover policies)。客户只需要知道它的存在。如图1.3,“集群的负载均衡体系” 说明了负载平衡系统的群集架构 。 图1.3.集群的负载均衡体系 负载平衡本身就是一个单点故障,这对于负载均衡是一个潜在的问题。它需要受到密切的监控,以确保高可用性的集群服务。 本文转自xudayu 51CTO博客,原文链接:http://blog.51cto.com/xudayu/64784,如需转载请自行联系原作者

优秀的个人博客,低调大师

企业级高可用Web架构之HAProxy+Keepalived

细数下来,算是东莞的项目的话,HAProxy+Keepalived我差不多也有三套在线上跑了,另外,这套Web方案也是我的一拍网的备份方案之一,目前也在测试,如果速度和稳定性够强劲的话,我也考虑将LVS+Keepalived换成HAProxy+Keepalived,关于HAProxy的语法和安装步骤请参考我的专题系列文章http://network.51cto.com/art/201101/241997.htm,另外,此篇文章跟刘天斯的不一样,我主要用其作为Web级别的负载均衡(七层应用)。 一、线上跑的HAProxy配置文件,代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 global log 127.0.0.1 local0 maxconn 65535 chroot /usr/local/haproxy uid 99 gid 99 daemon nbproc 8 pidfile /usr/local/haproxy/haproxy .pid #debug defaults log 127.0.0.1 local3 mode http option httplog option httpclose option dontlognull option forwardfor option redispatch retries 2 maxconn 2000 balance source stats uri /web-status contimeout 5000 clitimeout 50000 srvtimeout 50000 listen www.1paituan.com bind *:80 mode http option httplog log global option httpchk HEAD /index .jsp HTTP /1 .0 server web1 203.93.236.147:80 weight 5 check inter 2000 rise 2 fall 3 server web2 203.93.236.146:80 weight 3 check inter 2000 rise 2 fall 3 二、HAProxy的监控脚本我没有做,因为生产环境下HAProxy宕机的可能性微乎其乎,这个实施起来也简单,我们可以用如下命令来监控,判断是否返回了正常的200代码,命令下所示: 1 curl -s -- head http: //www .1paituan.com /index .jsp | awk '/HTTP/ {print $2}' 三、加上日志支持,代码如下: 1 2 3 4 5 6 7 8 vim /etc/syslog .conf 添加: local3.* /var/log/haproxy .log local0.* /var/log/haproxy .log vim /etc/sysconfig/syslog 修改: SYSLOGD_OPTIONS= "-r -m 0" service syslog restart 四、大家需要注意的几个地方是: 1)HAProyx采用的是balance source机制,它跟Nginx的ip_hash机制原理类似,是让客户机访问时始终访问后端的某一台真实的web服务器,这样让session就固定下来了; 2)option httpchk HEAD /index.jsp HTTP/1.0 是网页监控,如果HAProxy检测不到Web的根目录下没有index.jsp,就会产生503报错。 3)有网友说HAProxy必须采用listen 203.93.236.141:80这样类似的格式,这样其实不好,做集群时会导致从机启动不了,我们可以用bind *:80的方式代替。 4)HAProxy的并发监控和日志收集分析是下一步考虑的事情。 本文转自 抚琴煮酒 51CTO博客,原文链接:http://blog.51cto.com/yuhongchun/669491,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册