自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一名系统架构师的征途

shan9liang==善久良==永远保持善良……

  • 博客(335)
  • 资源 (10)
  • 收藏
  • 关注

原创 程序员踩坑步步高(十)

陆续整理中……

2019-09-16 20:32:16 524 1

原创 一文读懂Redisson

一文读懂Redisson,敬请期待

2019-09-16 20:30:24 848 1

原创 helloworld

helloworldhelloworldhelloworldhelloworldhelloworld

2018-11-24 09:13:57 625

原创 忙着开始新工作

忙着开始新工作忙着开始新工作忙着开始新工作

2018-05-25 18:46:09 857 2

原创 最近准备写一系列高性能分布式架构的最佳实践,先准备着……

最近准备写一系列高性能分布式架构的最佳实践,先准备着……

2018-03-28 20:24:31 727 1

原创 高性能分布式架构实践(一)

先把普通企业级基本性能优化的小方法复习下JVM 参数调优1.      使用64位JDK 1.6+ & Tomcat 6+。2.      jvm内存优化编辑tomcat/bin/目录下catalina.bat(linux为catalina.sh,配置类似,请自行百度),在文件开头加上以下代码(注意先搜索一下,不要重复设置)3.   set JAVA_OPTS=-Xms512m -Xmx4...

2018-03-26 19:42:38 998 1

转载 基于 spring-session 解决分布式 session 共享问题

摘要:本文主要研究 基于 spring-seesion 解决分布式 session 的共享问题。首先讲述 session 共享问题的产生背景以及常见的解决方案;然后讲解本文主要研究的 spring-session 的概念和功能;接着演示了 spring-session 的两种管理 sessionid 的实现方案,属于实战内容,需重点掌握;再接着对后台保存数据到 redis 上的数据结构进行了分析;...

2017-12-26 16:49:04 1289

转载 微服务架构上云最佳实践(转自阿里中间件)

中间件技术峰会分享 | 微服务架构上云最佳实践发表于 2017-08-07   |   作者   李颜良     |   分类于 分布式服务   |  摘要:7月27日,云栖社区、阿里中间件举办了首届阿里巴巴中间件技术峰会,揭秘阿里10年分布式技术干货。在首届阿里巴巴中间件技术峰会上,具有10年研发经验的阿里巴巴中间件技术专家李颜良结合EDAS团队上云两年多以来积累的经验为大家分享了如何进行微服务...

2017-12-26 16:48:41 2188

原创 小丫头来了,伺候着

先欠着……

2017-06-19 20:42:18 1514 2

原创 clean clean

clean clean

2016-11-22 09:16:28 1595 2

原创 Redis3.2.11主从集群模式

本文一切安装、测试、开发均以上一稳定版本3.2.11为准,不建议采用Windows版本,因为Redis官方没有任何声明支持Windows版本,市面上的Windows版本为微软XX开源小组维护。单机安装安装安装环境:CentOS 6.5 x86_64版本,理论上CentOS6.x/RHEL 6.x的安装方式一样。但极可能不适用于CentOS 7.x/RHEL 7.x版本。执行命令如下tar -zxv...

2016-10-18 10:02:08 1786 4

转载 记录—RabbitMQ、ActiveMQ、ZeroMQ、Kafka之间的比较汇总

自:http://blog.jobbole.com/103630/MQ框架非常之多,比较流行的有RabbitMq、ActiveMq、ZeroMq、kafka。这几种MQ到底应该选择哪个?要根据自己项目的业务场景和需求。下面我列出这些MQ之间的对比数据和资料。第一部分:RabbitMQ,ActiveMq,ZeroMq比较1、 TPS比较 一ZeroMq 最好,RabbitMq 次之, ActiveM...

2016-08-23 07:42:26 1556 1

原创 加班繁重,先欠着

加班繁重,先欠着

2016-08-12 07:41:40 1401 1

转载 SpringBoot+RabbitMQ

RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。消息中间件在互联网公司的使用中越来越多,刚才还看到新闻阿里将RocketMQ捐献给了apache,当然了今天的主角还是讲RabbitMQ。消息中间件最主要的作用是解耦,中间件最标准的用法是生产者生产消息传送到队列,消费者从队列中拿取消息并处理,生产者不用关心是谁来消费,消费者不用关心谁在生产...

2016-08-08 20:43:35 3598 1

转载 Kafka、RabbitMQ、RocketMQ消息中间件的对比 —— 消息发送性能(转自阿里中间件)

Kafka、RabbitMQ、RocketMQ消息中间件的对比 —— 消息发送性能发表于 2016-04-01   |   作者   以夕     |   分类于 消息中间件   |  引言分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦。现在开源的消息中间件有很多,前段时间我们自家的产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注。那么,消息中间件性...

2016-04-13 21:44:24 1959 3

原创 haproxy+tomcat部署配置

安装1、下载haproxy1.6.3 for windows_64.zip,haproxy官网不提供windows版本,大多是用cygwin工具编译源码生成2、解压即可配置global # 全局参数的设置log 127.0.0.1 local0 info# log语法:log <address_1>[max_level_1] # 全局的日志配置,使用log关键字,指定使用127...

2016-03-15 08:25:51 2311 3

原创 承接上文《利用Keepalived 搭建Nginx双机主备模式》的部署步骤

    本文主要记录利用Keepalived 搭建Nginx双机主备模式的部署过程。部署准备nginx-1.12.2keepalived-1.2.24CentOS 6.8部署架构    Nginx做为反向代理服务器,负责后端的WEB应用服务的代理,即终端用户的Http请求,将由Nginx的负载均衡策略,转发到不同的Web服务器(Tomcat)上处理。    当然,在一些互联网应用中,Nginx也可...

2016-03-12 16:58:10 1800 2

原创 //基于redisTemplate工具类RedisHelper

package com.tgb.util.redis;import java.util.List;import java.util.Map;import java.util.Set;import java.util.concurrent.TimeUnit;import org.springframework.data.redis.core.RedisTemplate;import org.spri...

2016-03-04 20:28:16 2568 2

原创 最基本的数据库设计规范

为使数据库命名及编码风格标准化,以便于阅读、理解和继承,所以建议遵循下面这些规范,适用所有软件业务系统,并适用于所有常用数据库(Oracle、DB2、SQL Server)。对象命名数据库对象包括表、视图、存储过程、函数、约束(数据库设计中应避免建立外键约束)。对象命名采用26个大写英文字母和0至9十个自然数、下划线_组成,且只能以字母开头,不能出现其他字符。对象命名由“前缀_模块名_业务实体名”...

2016-03-03 23:38:18 1739 2

原创 CAS集群修改点

TGT、ST数据共享多台CAS服务器共享TGT、ST数据,由于TGT、ST数据没有存储到SESSION中,所以需要单独处理TGT、ST数据的共享。可采用的方式有多种,例如:redis、memcached等NOSQL数据库,登录量小的可以选择关系型数据库等。Redis:1、继承AbstractDistributedTicketRegistry类,重写ticket的增删改查方法import java....

2016-02-27 21:52:21 1867 1

原创 利用Keepalived 搭建Nginx双机主备模式

    先上示意图        Nginx做为反向代理服务器,负责后端的WEB应用服务的代理,即终端用户的Http请求,将由Nginx的负载均衡策略,转发到不同的Web服务器(Tomcat)上处理。    当然,在一些互联网应用中,Nginx也可以作为http服务器,专门负责静态资源的处理(html,css,js等),这样的部署架构虽然性能有所提升,但相对我们实际项目的部署能力、运维能力来说,增...

2016-02-23 22:12:34 2002 2

原创 一般项目常用性能调优方法(三)

静态文件优化静态文件优化主要是指对文件大小的优化。文件大小往往被很多开发人员忽略,但对于带宽有限(公网项目)或者硬件设备(主要是交换机)老旧的环境,文件大小往往是性能的最大瓶颈。试想一个index.action,所有文件通过浏览器另存之后大小为3M,则100并发,就需要3*100 = 300M的瞬时流量,需要300 * 8 = 2.4Gbps的带宽才能在1秒内下载完毕(粗算,不科学)。1.    ...

2016-02-23 22:11:17 1731 2

原创 一般项目常用性能调优方法(二)

功能优化从功能设计上,避免一次性加载大量数据。遇到一次性加载大量数据的,通过以下问题寻找功能优化方式:1.       设置默认查询条件,仅加载部分数据。如对于监测数据的查询分析,可默认仅查询当天或当月的数据;2.       将数据展示使用类似TAB的元素分开,根据用户操作,采用AJAX分步加载数据3.       实时性要求不高的数据,不要实时查询,可缓存或者放到Session中代码调优SQL...

2015-12-09 21:02:58 2282 4

原创 一般项目常用性能调优方法(一)

JVM 参数调优1.      使用64位JDK 1.6+ & Tomcat 6+。2.      jvm内存优化编辑tomcat/bin/目录下catalina.bat(linux为catalina.sh,配置类似,请自行百度),在文件开头加上以下代码(注意先搜索一下,不要重复设置)3.   set JAVA_OPTS=-Xms512m -Xmx4096m -XX:PermSize=12...

2015-12-02 20:28:20 2562 1

转载 LTS(light-task-scheduler)

LTS用户文档LTS(light-task-scheduler)主要用于解决分布式任务调度问题,支持实时任务,定时任务和Cron任务。有较好的伸缩性,扩展性,健壮稳定性而被多家公司使用,同时也希望开源爱好者一起贡献。项目地址github地址: https://github.com/ltsopensource/light-task-scheduleroschina地址: http://git.osc...

2015-11-24 19:36:32 3919 1

原创 还之前欠下的债https(nginx+tomcat)配置

目的nginx和tomcat配置支持https访问。由引言可知,要支持https,需要安装证书。配置https1、生成证书For Nginx以 openssl生成证书为例。1、安装openssl下载地址:http://slproweb.com/products/Win32OpenSSL.html 直接安装Win64OpenSSL-1_1_0g.exe即可2、 配置环境变量OPENSSL_CONF值...

2015-11-01 12:13:17 2190 1

原创 最近几个月疯狂加班,先欠着……

最近几个月疯狂加班,先欠着……

2015-11-01 12:12:56 1403 1

原创 最近几个月疯狂加班……

最近几个月疯狂加班……

2015-08-01 16:00:04 1583 1

转载 记录-Java并发编程:CountDownLatch、CyclicBarrier和Semaphore

出自:  http://www.cnblogs.com/dolphin0520/p/3920397.html在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。  以下是本文目录大纲:  一.CountDownLatch用法  二.CyclicBarrier...

2015-06-30 23:16:23 1474 2

原创 简单解释下什么是用户权限系统钟的三员管理和分级授权

什么是三员管理一个人拥有的权限太大,会给系统造成很大的安全隐患,比如超级管理员能查看所有功能和数据。解决办法:将超级管理的员的权限拆分,分给不同的角色,同一个账号只能能属于这些角色中的一个,从而使获得额外权限的过程至少需要两个角色配合操作才能完成。典型的角色包括:用户管理员:管理部门、创建、修改用户账号角色管理员:创建、修改角色,配置角色权限 ,将用户加入或移出指定角色审计管理员:可以管理和查看安...

2015-06-30 23:15:55 10076 1

翻译 Activiti几类表说明

The database names of Activiti all start with ACT_. The second part is a two-character identification of the use case of the table. This use case will also roughly match the service API.ACT_RE_*: RE s...

2015-06-30 23:15:30 1095 1

原创 Tomcat Session共享

有多种实现方案,在这里介绍2种。方案1:使用 web容器本身功能,Tomcat组播优点:配置简点,不依赖第三方存储。缺点:广播延迟,需要Tomcat7及以上版本,需要广播端口方案2:使用缓存实现,Redis或memcached 优点:实时性高,常用方式 缺点:需要维护第三方服务,必须保证高可用。其他方案: 可以设置nginx或haproxy等负载方式为ip绑定,假装实现Tomcat之间的Sessi...

2015-06-30 23:15:08 1254 1

原创 nginx+tomcat的Https配置

HTTPS和HTTP的区别超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传...

2015-05-31 22:09:38 1128 4

原创 使用Spring-Cache的两条限制

Spring-Cache的注解实现原理是Spring AOP,而Spring AOP的默认模式是代理(mode="proxy"),所以注定了以下两条限制:基于注解的缓存仅适用于public方法基于注解的缓存仅适用于Bean的外部调用,即某bean的methord1 调用自身的methord2时,缓存不会生效如果要解决上述限制,考虑Spring AOP配置为AspectJ的方式(mode="aspe...

2015-05-31 22:08:50 1142 1

原创 《标记》-Spring的一些偏方

一、Environment和Profile的概念Spring在容器中引入Environment和Profile的概念。每个应用程序上下文都有一个都可以访Environment对象。ClassPathXmlApplicationContext classPathXmlApplicationContext =    new ClassPathXmlApplicati

2015-05-31 22:08:30 1193 3

原创 httpclient连接池的使用

httpclient是java开发中非常常见的一种访问网络资源的方式了,本位主要说明多线程环境下HttpClient连接池的使用。虽说http协议时无连接的,但毕竟是基于tcp的,底层还是需要和服务器建立连接的。对于需要从同一个站点抓取大量网页的程序,应该使用连接池,否则每次抓取都和Web站点建立连接、发送请求、获得响应、释放连接,一方面效率不高,另一方面稍不小心就会疏忽了某些资源的释放、导致

2015-05-31 22:07:46 2170 2

转载 记一次PermGen持续增长的解决过程

前言这个问题的起因,是一次PermGen持续增长的报警,而问题的解决,是PermGen、类加载、Spring、JDK等知识的融合。本次问题,从发生到最终解决,经历了很长的时间,这个过程中,有工程方法,有JVM优化,有源码追踪,有思想碰撞,最终解决问题后,发现是Spring 4.1.1.RELEASE的BUG,从4.2.4之后,这个BUG就修复了,这次问题的解决,

2015-04-30 23:46:37 4074 2

原创 《标记》-编码一次,解码两次?

一、场景:1、我在客户端要通过get方式调用服务器端的url,将中文参数做utf-8编码,需要在js中两次的进行编码,服务器端才能用decode方法一次获取。例如:客户端var a=encodeURIComponent(encodeURIComponent(xing));  服务器端只需要一次decode xing=URLDecoder.decode(xing, "UTF-8"

2015-04-30 23:46:20 1567 3

原创 《标记》-在自定义的Spring拦截器中通过request获取到该请求对应于Controller中的目标method方法对象

为什么要读取method方法对象?当然拿到Method对象我们可以做很多事,例如权限认证的时候,判断用户是否有访问该方法的权限。spring-webmvc-3.1.0.RELEASE及以上版本最终配置--------------------------------------------begin  

2015-04-30 23:46:08 2734 1

原创 统一认证系统实现要点-资源认证

权限系统有一个普遍的需求,即:用户登录系统后,在浏览器地址栏直接输入未经授权的URL,应该拒绝其访问。目前有很多线程的权限框架对这部分进行了封装,如shiro,但是如果不想引入新框架,保持系统的轻量,该如何做呢?对于普通Spring MVC项目来说,每个@RequestMapping标注的方法应该就对应了一个操作行为。如何配置用户权限信息让用户在到达每个操作行为

2015-04-30 23:44:51 1324 2

内存中动态编译执行java代码

不需要任何java类文件,将字符串输入到内存,然后编译,加载,执行,整个过程全部在内存中实现,不会产生.java和.class文件,做到了洁净无污染。

2014-10-25

EJB+Annotation实现AOP的DEMO

http://blog.csdn.net/shan9liang/article/details/22295841 EJB+Annotation实现AOP的DEMO

2014-03-27

hadoop-core-1.2.0(解决0700异常)

eclipse连接远程hadoop集群开发时0700问题解决方案。修改源码,重新编译后hadoop-core-1.2.0

2013-08-14

SpringMVC+Spring3+Hibernate4

SpringMVC+Spring3+Hibernate4开发环境搭建

2013-06-18

java操作mongoDB(CRUD)

java连接mongoDB,增删改查操作等等

2013-06-14

ssh2+pager-taglib实现自动分页

Pager-taglib,支持多种风格的分页显示。实际上她是一个Jsp标签库,为在JSP上显示分页信息而设计的一套标签,通过这些标签的不同的组合,会形成多种不一样的分页页面,风格各异,她自带的DEMO就有七种左右的分页风格,包括Google的分页风格。而需要订制自已的风格的分页页面也非常简单。

2013-05-21

SSH1框架搭建实例

SSH1框架搭建实例(spring2+struts1+hibernate3)采用旧版本 以资源分销系统物料维护为原型做实例。包括物料的增删改查。包括登录界面。

2013-04-25

SSH2框架搭建实例源码

SSH2框架搭建实例(spring3.2+strust2.3.4+hibernate4.2)全部采用最新版本.演示了用户登录和用户管理

2013-04-25

ASP.NET AJAX核心控件示例

主要介绍了ASP.NET AJAX的几个核心控件的作用和具体用法示例。 包括:Scriptmanager,Updatepanal,Updateprogress,Timer

2012-01-10

Repeater\DataList\GridView实现分页,数据编辑与删除

Repeater实现分页显示数据, DataList实现分页,数据编辑与删除, GridView实现分页,数据编辑与删除。

2011-12-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除