柒's Blog

Just Do It


  • 首页

  • 友邻

  • 归档

  • 标签

  • 分类

  • 关于

  • 架构

  • 搜索

Shiro如何去掉小尾巴 JSESSIONID

发表于 2017-03-17   |   分类于 Shiro   |   10000+ 条评论

使用shiro过程中,有时url会遇到JSESSIONID这个小尾巴,感觉好刺眼的样子。

其实shiro在1.3.2版本已经解决了这个问题,只需配置一下参数即可。

  <!-- 会话管理配置 -->
<bean id="sessionManager" class="org.apache.shiro.web.session.mgt.DefaultWebSessionManager"> 
        <!-- 会话超时时间,单位:毫秒  20m=1200000ms, 30m=1800000ms, 60m=3600000ms-->
        <property name="globalSessionTimeout" value="1800000"/>
        <property name="sessionValidationInterval" value="1200000"/>
        <!-- 去掉 JSESSIONID -->
        <property name="sessionIdUrlRewritingEnabled" value="false" />
        <property name="sessionValidationSchedulerEnabled" value="true"/>
        <property name="sessionDAO" ref="sessionDAO"/>
        <property name="sessionIdCookie" ref="sessionIdCookie"/>
        <property name="sessionIdCookieEnabled" value="true"/>
</bean>

Linux下安装memcached之Tomcat7集群

发表于 2017-03-17   |   分类于 Memcached   |   10000+ 条评论

这两天,在捣鼓负载均衡的问题,使用的是memcached做session存储。但是你造吗?居然没有成功,都硕失败是成功之母,我想我快成功了。

timg (1).jpg

安装环境 centos 6.5,apache-tomcat-7.0.63,Nginx

memcached介绍

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

阅读全文 »

Linux下JProfiler 9安装部署及使用

发表于 2017-03-10   |   分类于 Tomcat   |   10000+ 条评论

JProfiler[1] 是一个商业授权的Java剖析工具,由EJ技术有限公司,针对的Java EE和Java SE应用程序开发的。
它把CPU、执行绪和内存的剖析组合在一个强大的应用中。JProfiler可提供许多IDE整合和应用服务器整合用途。

JProfiler的是一个独立的应用程序,但其提供Eclipse和IntelliJ等IDE的插件。
它允许两个内存剖面评估内存使用情况和动态分配泄漏和CPU剖析,以评估线程冲突。

软件

jprofiler_windows-x64_9_1_1.zip windows下安装使用

jprofiler_linux_9_1_1.rpm linux下安装



阅读全文 »

架构设计之SSO单点登录

发表于 2017-03-09   |   分类于 架构设计   |   10000+ 条评论

写在开始

随着分布式系统的盛行,系统单点登录需求变得必不可少。

这里以阿里云社区为例子:
https://www.aliyun.com 主站
https://yq.aliyun.com 云栖社区
https://bbs.aliyun.com 论坛
https://account.aliyun.com 登录地址

架构图:

111.png

登陆流程:

一、从论坛登录,地址跳转为 https://account.aliyun.com/login/login.htm?spm=5176.7189909.2.9.7KvILh&oauth_callback=https%3A%2F%2Fbbs.aliyun.com%2F%3Fspm%3D0.0.0.0.WLChh5

oauth_callback 对应的url经过encode解密就是 https://bbs.aliyun.com/?spm=0.0.0.0.WLChh5

二、输入账号密码登陆,验证通过跳回到论坛主页

三、然后再访问云栖社区这时候用户是不用登陆的

到这里,我们可以使用谷歌浏览器F12看下网站的cookie信息,如图:

123.png

SVN自动化部署全流程之架构之美

发表于 2017-03-09   |   分类于 架构设计   |   1 条评论

公司一直没有一个完善的部署流程,基本都是通过上线打包以后SSH手动拖拽部署项目。

当然网上也有现成的持续集成工具,比如jenkins。Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。

尽管jenkins有很丰富的功能。然而,暂时并没用使用倒它,这是后话,以后再谈。

部署.png

上图,是一个生产环境上线的一个基本流程图。当然,这里忽略了测试环境的流程。

一、开发人员提交代码到SVN项目分支

二、SVN服务器执行代码检出功能,并使用rsync同步至生产环境服务器A(线上测试环境)

三、服务器A使用ANT以及shell脚本执行打包、备份、部署、重启操作

四、线上测试环境进行UI功能的测试

五、测试无误,服务器A使用rsync推送代码至线上集群服务器B和服务器C(事先备份)

六、测试人员进行简单的测试即可

注意完善使用说明

  • 步骤二中,其实可以用到svn的钩子功能,但是目前使用的脚本手动执行,同步代码库到生产环境。
  • 还有所谓的线上测试环境,是为了真实模拟生产环境,部署以及测试不至于影响正式环境,测试无误后再同步代码。
  • 基本解决的问题,脚本化部署,虽然有少量人工参与,但是免去了以前部署人员对照目录,拖拽的问题(少部署,漏部署,集群下复制,参数漏改的问题),最主要的还是TM网速问题。
  • 由于增加了线上测试环境,避免了部分功能回滚麻烦的问题。
1...6566676869707172737475...86

其实我是一个程序员

429 文章
71 分类
197 标签
RSS
© 2025 柒's Blog
鲁ICP备19004528号-2
主题 - NexT.Pisces