随笔分类 - WEB
摘要:RT: 一个秒杀系统,当前物品有100个,活动上线有2000W用户参与,怎么设计这个架构。实现秒杀? 思考: 恶意刷单、页面静态化、CDN、缓存、域名、图片服务器、分布式、队列、高并发、流量削峰、RPC。 订单库存有限、尽量快速反馈用户结果。 前端: 1.商品详情下单页静态化,静态文件资源JS、CS
阅读全文
摘要:现公司选择RocketMQ作为消息队列服务器,用于异步处理,应用解耦,流量削锋和消息通讯四个场景。RocketMQ特性参见:Rocketmq整体分析。 PS: http://blog.csdn.net/konglongaa/article/details/52208273 http://www.co
阅读全文
摘要:近期Struts2被曝重要漏洞,此漏洞影响struts2.0-struts2.3所有版本,可直接导致服务器被远程控制从而引起数据泄漏,影响巨大,受影响站点以电商、银行、门户、政府居多.引发的威胁:取得网站服务器主机管理权限。CVSS:(AV:R/AC:L/Au:NR/C:C/A:C/I:C/B:N)...
阅读全文
摘要:在做项目的API通知接口的时候,发现在SSH框架中无法获取到对方服务器发来的异步通知信息。最后排查到的原因可能是struts2对HttpServletRequest进行了二次处理,那么该如何拿到post的请求数据呢,方法很多,下面只给出一种方式。在servlet中GET请求可以通过HttpSe...
阅读全文
摘要:项目的权限分配,采用的是RBAC的设计模式。后台配置权限的时候,需要获取到所有的权限因子。不经让我想起YII框架的SRBAC模块,还有以前的一个ecshop改造系统的权限配置方式,都采用的是PHP的反射机制。于是把PHP项目的经验带到JAVA项目中,发现PHP中的经验在java中,实现起来不是那么的...
阅读全文
摘要:使用解压安装的tomcat包,命令行输入 service tomcat start 会报tomcat: unrecognized service 错误提示,意思是说系统没有找到该服务。好了,我们现在要解决的问题就是这个报错提示,让我们的解压安装版tomcat也可以支持yum安装方式的service ...
阅读全文
摘要:开发中遇到md5加密不一致问题,排除了上下文编码,加密内容问题。爬了各类资料,最终找到了原因。/** 对字符串进行MD5加密 */ private static String encodeByMD5(String originString) { if (originString ...
阅读全文
摘要:项目上线,用户注册时验证码一直报错误,数据库也没问题,代码貌似也没问题。后面排查到最后,发现是一个子类覆盖父属性问题。JAVA代码中,子类覆盖父类的私有、保护属性,如果不设置get、set方法,拿到的数据是父类的私有属性数据。父类:public class BaseAction extends Ac...
阅读全文
摘要:一、安装JDK环境 方法一、 官方下载链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 64位:http://download.oracle.com/otn-pub/java/
阅读全文
摘要:PHP判断字符串是否为中文(或英文)的方法,除了正则表达式判断和拆分字符判断字符的值是否小于128外还有一种比较特别的方法。使用php中的mb_strlen和strlen函数判断方法比较简单:分别使用以上两个函数以当前编码测出字符的返回值,然后比较返回值。返回值相等的为纯英文、纯数字、英数混排;返回...
阅读全文
摘要:准备前的工作: 1.修改selinux配置文件(/etc/sysconfig/selinux) 关闭防火墙 (1)把SELINUX=enforcing注释掉 (2)并添加SELINUX=disabled 2.修改防火墙配置文件(/etc/sysconfig/iptables) 开放端口号 -A INPUT -p tcp -m state --state NEW -m tcp --...
阅读全文
摘要:PHP Beast是一个源码加密模块,使用这个模块可以把PHP源码加密并在此模块下运行。 为什么要用PHP-Beast? 有时候我们的代码会放到代理商上, 所以很有可能代码被盗取, 或者我们写了一个商业系统而且不希望代码开源, 所以这时候就需要加密我们的代码. 另外PHP-Beast是完全免费和开源的, 当其不能完成满足你的需求时, 可以修改其代码而满足你的要求. ...
阅读全文
摘要:1. XYNTService的使用1.1. 介绍 1.2. XYNTService2. 用XYNTService把Python程序变为服务 1. XYNTService的使用 1.1. 介绍 通常,NT服务是控制台应用程序,它没有消息循环。不必等到用户登陆电脑,NT服务便能启动,并且在用户登出之后,它也不会停止运行。然而,许多现存的ActiveX控件很难,有时候根本不可能在控制台程序中使用。...
阅读全文
摘要:Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。下文介绍的是在Ubuntu环境下安装Memcached并进行测试,具体内容如下所述。1,先安装Memcached:sudo apt-get install memcached memcached -d -m 50 -p 11211 -u root 参数说明 -m 指定使用多少兆的缓存空间;-p 指定要监听的端口; -u 指定以哪个用户来运行安装php 模块(顺便装上的,如果只是django中使用,此步可以省略)2..
阅读全文
摘要:应工作要求,需要对展示的内容进行敏感信息替换。琢磨的一些时间,编写的函数匹配率还是比较高的。顺便说下思路,使用的是正则匹配替换和字符串替换。函数可以再改进.先把需要匹配的内容写好相应的正则,然后进行全部匹配遍历。获取匹配结果数组A,同时获取匹配规则B,(解决内容有多次符合匹配规则的情况,导致最后替换出现结果一样的问题)再根据结果A,和结果B,进行内容的真正匹配处理。代码: $v) { if ($v) { k] = '/' . strings[$k]...
阅读全文
摘要:原文地址:http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术,于是有了写这篇文章的想法,在这篇文章中将阐述一个普通的网站发展成大型网站过程中的一种较为典型的架构演变历程和所需掌握的知识体系,希望能给想从事互联网行业的同学一点初步的概念,:),文中的不对之处也请各位多给点建议,
阅读全文