
系统架构
文章平均质量分 63
yohoph
J2EE四年工作经验<br/>具备良好软件工程理论基础;能根据项目实际制定项目计划,并推动项目的顺利进行和掌握项目开发的进程。具备相关执行经验。<br/>具备一定的项目开发框架的设计能力,能够独立的根据产品需求制定项目开发设计解决方案并执行。<br/>精通Oracle/SQL Server数据库及其相关开发;<br/>精通前端JS相关功能开发。 <br/>为人诚恳,待人真诚,具有良好的团队合作精神和沟通协作能力,工作积极上进;有责任感与使命感;对新事物接受快,具备良好自觉与学习能力,勇于接受新挑战;
展开
-
轮询调度算法(Round-Robin Scheduling)
原文链接地址:http://blog.163.com/s_u/blog/static/1330836720105233102894/毫无疑问,随着互联网、移动网络接入成本的降低,互联网正在日益深入地走入我们的生活,越来越成为人们获取信息的高效平台,ICP行业也顺势呈现出强劲的成长趋势,成为互联网迅猛发展形势下最大的受益者,也直接促成了从web1.0到web2.0以及社区、博客、视频等一系列互联转载 2012-11-29 17:10:17 · 3400 阅读 · 0 评论 -
CentOS, 解决服务器存在大量time_wait的问题
近期服务器出现大量time_wait的TCP连接造成服务器连接数过多而最终导致tomcat假死状态。连接服务器查看连接数的时候提示如下。[root@test apache-tomcat-7.0.53]# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' TIME_WAIT 14434FIN_WAIT2原创 2014-11-26 11:21:20 · 28722 阅读 · 3 评论 -
tomcat启动产生多个java进程并有defunct现象
我们在日常使用tomcat的时候有时候启动tomcat莫名其妙的就会产生多个java进程,而且这些进程还是有效的。这样会导致端口冲突进而使tomcat假死或者挂掉。有时候强行杀掉进程还会出现defunct现象,导致java进程在好久的时间内无法杀掉。这个问题进过调查,暂时发现可能与jdk调用的linux内核的LD_ASSUME_KERNEL参数有关。在经过不断在网上查了些资料显示:首先介绍原创 2014-12-15 20:10:57 · 14832 阅读 · 0 评论 -
常用服务器软件nginx、jvm、centOS网络环境等配置
nginx配置说明 典型nginx配置文件请参考文件说明。这里只解释nginx负载均衡功能实现。1、轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。2、weight指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。例如:upstream bakend{server192.168.159.10...原创 2015-01-06 17:04:13 · 2536 阅读 · 0 评论 -
JVM gc参数设置与分析
原文:http://hi.baidu.com/i1see1you/item/295c1dc81f91ab55bdef69e5gc日志分析工具: http://qa.blog.163.com/blog/static/19014700220128199421589/Java GC 日志图解: http://www.chinasb.org/archives/2012/09/4921.shtml转载 2014-12-20 11:47:45 · 37153 阅读 · 3 评论 -
jprofiler8安装和配置与集成tomcat监控
注意:安装前先用rpm -q jprofiler查询linux上是否已安装jprofiler JProfiler软件下载地址 http://www.ej-technologies.com/1.到官网下载linux安装包,如:jprofiler_linux_8_1_1.rpm2.安装: rpm -ivh jprofiler_linux_8_1_1.rpm3原创 2014-12-20 18:22:14 · 4671 阅读 · 0 评论 -
一次jvm调优实战
总结内存多占1G左右,CPU利用率没有明显变化,但随着CMS收集抖动,最高达40%,CPU load平均高出1.0左右。几乎0停顿,相比于之前每隔5分钟应用停顿3-4s,调优后的应用几乎没有停顿时间,每次”stop the world”由youngGC引起,最高也不过200+ms。GC总时间开销显著减小20%多,吞吐量显著提升。应用超过500ms的请求响应时间减少3%(一小时的观察转载 2014-12-26 18:51:22 · 994 阅读 · 0 评论 -
Nginx负载均衡与集群配置
原文链接:点击打开链接nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态、静态页面的分离,可以按照轮询、ip哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时还支持后端服务器的健康检查。如果只有一台服务器时,这个服务器挂了,那么对于网站来说是个灾难.因此,这时候的负载均衡就会大显身手了,它会自动剔除挂掉的服务器转载 2014-12-12 13:58:53 · 1728 阅读 · 0 评论 -
nginx 的 tcp_nopush 和 tcp_nodelay
TCP_NODELAY 和 TCP_CORK,这两个选项都对网络连接的行为具有重要的作用。许多UNIX系统都实现了TCP_NODELAY选项,但是,TCP_CORK则是Linux系统所独有的 而且相对较新;它首先在内核版本2.4上得以实现。此外,其他UNIX系统版本也有功能类似的选项,值得注意的是,在某种由BSD派生的系统上的 TCP_NOPUSH选项其实就是TCP_CORK的一部分具体实现。转载 2015-01-05 16:16:04 · 1018 阅读 · 0 评论 -
三大WEB服务器对比分析(apache ,lighttpd,nginx)
一.软件介绍(apache lighttpd nginx)1. lighttpdLighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功转载 2015-01-23 16:48:42 · 547 阅读 · 0 评论 -
解决安装完MFS找不到mfsmount的问题
MFS安装完毕之后,MFS客户端(mfsmount)没有自动安装。主要是因为客户端依赖的fuse的程序问题。首先检查fuse是否已经安装进入src目录之后通过configure检查配置:./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount原创 2015-03-10 16:19:22 · 5552 阅读 · 0 评论 -
MooseFS学习笔记
原文地址:http://blog.liuts.com/post/202/1、/mnt/mfs空间的大小为chunkserver定义空间空闲的大小,已使用空间为mfs所存储的数据容量。2、在任一台client执行chmod -R nobody:nobody /mnt/mfs(任意操作),所有client看到的结果是一样的。3、mfschunkfile 用来检查给定的文件以多少副本转载 2015-03-10 17:54:50 · 1718 阅读 · 0 评论 -
服务治理过程演进
在大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,通过配置服务的URL地址进行调用,通过F5等硬件进行负载均衡。 (1) 当服务越来越多时,服务URL配置管理变得非常困难,F5硬件负载均衡器的单点压力也越来越大。 此时需要一个服务注册中心,动态的注册和发现服务,使服务的位置透明。 并通过在消费方获取服务提供方地址列表,实现软负载均衡转载 2016-07-13 19:51:22 · 579 阅读 · 0 评论 -
OpenResty基于nginx的限流插件
http://git.oschina.net/kevin158/flowlimit?from=20160911简介基于OpenResty,本程序即为部署在其上的分流限流控制脚本,基于配置策略进行工作,也可以通过管理URI实时调整配置生效包括几个部分lua_scripts 用于部署到OpenResty的Lua脚本,脚本插入点见nginx/conf/nginx.转载 2016-09-30 15:17:50 · 2681 阅读 · 0 评论 -
Tomcat性能优化
Tomcat在各位JavaWeb从业者常常就是默认的开发环境,但是Tomcat的默认配置作为生产环境,尤其是内存和线程的配置,默认都很低,容易成为性能瓶颈。一、思路说明Tomat主要参考资料有:http://tomcat.apache.org/tomcat-8.0-doc/config/ajp.html,具体思路如下:1. 调整tomcat的thread最大连接数的默认值,默原创 2017-01-05 20:02:43 · 728 阅读 · 0 评论 -
在微服务中使用领域事件
稍微回想一下计算机硬件的工作原理我们便不难发现,整个计算机的工作过程其实就是一个对事件的处理过程。当你点击鼠标、敲击键盘或者插上U盘时,计算机便以中断的形式处理各种外部事件。在软件开发领域,事件驱动架构(Event Driven Architecture,EDA)早已被开发者用于各种实践,典型的应用场景比如浏览器对用户输入的处理、消息机制以及SOA。最近几年重新进入开发者视野的响应式编程(Reac...转载 2018-02-26 14:28:46 · 283 阅读 · 0 评论 -
Nginx+memcached+tamcat7集群管理配置方案
环境准备:ng原创 2014-05-28 15:46:46 · 999 阅读 · 0 评论 -
http 状态码 504 502
502 Bad Gateway:tomcat没有启动起来 504 Gateway Time-out: nginx报出来的错误,一般是nginx做为反向代理服务器的时候,所连接的应用服务器譬如tomcat无相应导致的 302(临时移动) 服务器目前正从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求,302响应时,临时URL通过Location 字段返回给客户端。转载 2014-08-30 11:39:22 · 31618 阅读 · 0 评论 -
Nginx安装部署
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2转载 2014-07-26 14:36:37 · 449 阅读 · 0 评论 -
java堆栈详解
Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数组。 在堆中分配的内存,由J转载 2013-02-21 10:41:28 · 4960 阅读 · 4 评论 -
java 堆和栈
1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆 栈(stack):是一个先进后出的数据结构,通常用于保存方法(函数)中的参数,局部变量. 堆(heap):是一个可动态申请的内存空间(其记录空闲内存空间的链表由操作系统维护),C中的malloc语句所产生的内存空间就在堆中转载 2013-02-21 10:39:41 · 532 阅读 · 0 评论 -
Apache+Tomcat集群配置
本文Apache+Tomcat集群配置 基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置。准备环境ApacheApache是http服务器,我们利用其对Tomcat进行负载均衡。目前最新版本为2.2.17,下载地址为http://httpd.apache.org/download.cgi#apache22。如下图:转载 2013-04-26 15:11:57 · 658 阅读 · 0 评论 -
nginx 伪静态 重定向 包括域名、目录、文件等方法
在网站建设中需要网页重定向的情况很多:如网页目录结构变动,网页重命名、网页的扩展名改变、网站域名改变等。如果不做重定向,用户的收藏和搜索引擎数据库中的旧地址只能让访客得到一个404错误信息页面,访问流量白白丧失。不仅如此,之前该页面的一切积累(比如PR值)就都白费了。 301重定向不仅能使页面实现自动跳转,对于搜索引擎来说,也可能可以传递PR值 1、将多个域名指向同一web目录转载 2013-06-01 10:43:57 · 3061 阅读 · 0 评论 -
使用MySQL Proxy解决MySQL主从同步延迟
Mysql主从同步机制非常方便的解决了高并发读的应用需求,给方 面开发带来了极大的便利。但这种方式有个比较大的缺陷在于MySQL的同步机制是依赖Slave主动向Master发请求来获取数据的,而且由于服务器负 载、网络拥堵等方面的原因,Master与Slave之间的数据同步延迟是完全没有保证的。短在1秒内,长则几秒、几十秒甚至更长都有可能。由于数据延迟问题的存在,当应用程序在Master上原创 2013-07-04 13:39:00 · 743 阅读 · 0 评论 -
互联网系统架构的演进
多终端接入、开放平台给互联网带来了前所未有的用户量级和访问规模,SNS网站产生了海量的UGC(用户产生内容),而且这些内容依托关 系链扩散速度之快、传播范围之广是传统网站难以想象的,海量数据的计算存储也一直是近年互联网领域的热点。本文将从发展演进的层面探讨互联网的系统架构。天下武功唯快不破网站初期的架构一般采用“短平快”的架构思路,架构以简单清晰、容易开发为第一衡量指标。互转载 2013-08-29 17:51:13 · 1194 阅读 · 0 评论 -
JVM系列三:JVM参数设置、分析
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同转载 2013-10-16 10:38:39 · 679 阅读 · 0 评论 -
SQLServer 数据库镜像+复制切换方案
http://www.cnblogs.com/fygh/archive/2012/05/25/2518416.html 原文链接目标: 主机做了Mirror和Replication,当主机出现问题时,Replication和Mirror实现自动的故障转移(Mirror 和Replication都切换到备机,而当主机 重新启动后,自动充当备机的角色)翻译 2013-10-29 14:03:18 · 667 阅读 · 1 评论 -
c3p0详细配置
官方文档 : http://www.mchange.com/projects/c3p0/index.html3 30 1000 false属性preferredTestQuery将被忽略。你不能在这张Test表上进行任何操作,它将只供c3p0测试使用。Default: null-->Test保留,并在下次调用g转载 2013-11-21 14:34:24 · 1199 阅读 · 0 评论 -
java InputStream读取数据问题
首先请查看一下JavaAPI,可以看到InputStream读取流有三个方法,分别为read(),read(byte[] b),read(byte[] b, int off, int len)。其中read()方法是一次读取一个字节,鬼都知道效率是非常低的。所以最好是使用后面两个方法。例如以下代码:Java代码 /** * 读取流 * *转载 2014-01-02 10:37:54 · 794 阅读 · 0 评论 -
常用开源软件maven坐标
Maven仓库查询 http://search.maven.org 油多不坏菜,这些都加上算了 Xml代码 repositories> repository> id>java-repoid> name>java Repositoryname> url>http://downlo转载 2014-04-15 11:34:59 · 4748 阅读 · 0 评论 -
CentOS下配置iptables防火墙
在CentOS下配置iptables防火墙,是非常必要的。来我们学习如何配置!在Linux中设置防火墙,以CentOS为例,打开iptables的配置文件:vi /etc/sysconfig/iptables 通过/etc/init.d/iptables status命令查询是否有打开80端口,如果没有可通过两种方式处理:1.修改vi /etc/sy转载 2014-04-15 14:05:45 · 485 阅读 · 0 评论 -
tomcat内存溢出总结
原文链接:http://www.blogjava.net/george/archive/2009/08/18/291579.html在生产环境中tomcat内存设置不好很容易出现内存溢出。造成内存原因是不一样的,当然处理方式也不一样。这里根据平时遇到的情况和相关资料进行一个总结。常见的一般会有下面三种情况: 1.OutOfMemoryError: Java heap sp转载 2014-07-22 13:43:01 · 493 阅读 · 0 评论 -
Redis 的安装配置介绍
redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。问题是这个项目还很新,可能还不足够稳定,而且没有在实际的一些大型系统应用的实例。此外,缺乏mc中批量get也是比较大的问题,始终批量获取跟多次获转载 2014-07-26 14:40:12 · 417 阅读 · 0 评论 -
linux tar 解压命令总结
把常用的tar解压命令总结下,当作备忘:tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属转载 2014-07-26 15:15:35 · 457 阅读 · 0 评论 -
nginx+tomcat集群负载均衡下tomcat故障后的的会话转移
最近自己尝试着在linux下面进行开发和学习,想想即使对于一般的企业应用,做一个小的集群也是有必要的,能防止单服务器down掉之后的尴尬,所以就在学习nginx+tomcat配置一个小型的集群,google之下也算搞定,然后自然涉及到session共享之类的问题,依旧想google之,前人经验后人乘凉,搜索后发现最多的文章的解决方式就是开启tomcat的session复制,还有比较多的情况是使用m转载 2014-07-11 21:54:42 · 6242 阅读 · 0 评论 -
使用阿里云镜像安装Docker CE
由于安装DockerCE时下载官网库长期出现超时的情况,所以在安装docker时需要把下载镜像改到国内的镜像库。所以就有了阿里云镜像库。按照阿里云在CentOS安装时介绍步骤:# step 1: 安装必要的一些系统工具sudo yum install -y yum-utils device-mapper-persistent-data lvm2# Step 2: 添加软件源信息...原创 2018-04-25 14:49:24 · 10506 阅读 · 1 评论