- 博客(178)
- 资源 (23)
- 收藏
- 关注
原创 Spring bean的配置
Bean的容器 Factory和Context,Context多了运行时上下文,提供读取资源文件,监听等等能力Bean的生命周期:实例化->填充属性->BeanNameAware的setBeanName方法, 调用BeanFactoryAware的setBeanFactory()方法,调用ApplicationContextAware的setApplicationContext()方法——》调用B
2015-11-25 10:43:27 13659
原创 Spring 整体结构
下载Spring源码用来学习直接使用github的svn下载功能: https://github.com/spring-projects/spring-framework.git/tags/v3.0.5.RELEASE/org.springframework.jms https://github.com/spring-projects/spring-framework/branches/3.0.
2015-11-25 10:34:12 14017
原创 贴一篇我的Javadoc
/** * <h1>虚拟礼品卡 soa接口</h1> * <pre> * <h2>调用说明</h2> * <li>引入pom</li> * {@code <dependency> * <groupId>com.jd.bizopen.v</groupId> * <artifactId>jd-bizopen-v-soa-sdk</artifac
2015-11-23 18:50:09 7267
原创 网站的安全架构
网站安全攻防战XSS攻击 防御手段: - 消毒。 因为恶意脚本中有一些特殊字符,可以通过转义的方式来进行防范 - HttpOnly 对cookie添加httpOnly属性则脚本不能修改cookie。就能防止恶意脚本篡改cookie注入攻击SQL注入攻击需要攻击者对数据库结构有所了解才能进行,攻击者获取数据库表结构方式:- 开源, 如果使用开源软件搭建,则数据库是公开的 - 错误回显
2015-11-11 10:53:15 15571
原创 网站的伸缩性架构
不用改软硬件设计,只需要增加或者减少服务器的数量就能够扩大或减少网站的处理能力网站伸缩性设计不同功能进行物理分离实现伸缩纵向分离,分层分离。 通常是网站-复用业务-基础技术服务-数据库 横向分离,按业务分。买家,卖家,论坛,详情,列表页单一功能通过集群实现伸缩一头牛拉不动就让两头来 分为应用服务器集群,缓存数据服务器集群,和存储数据服务器集群。应用服务器集群的伸缩性设计负载均衡, 能够识别新加
2015-10-10 13:24:37 10883
原创 网站的高可用架构 Availability
可用性度量和考核度量用多少个9来表示,表示一年中可用时间的百分比考核可以用如下的表: 故障分=故障时间(分钟) * 权重。 计入考核高可用的网站架构 分层架构,每一层都分布式部署。使用冗余和故障转移的方式保证可用性。 - 应用层用负载均衡服务器,能够监测服务器的可用性,把不可能的踢出集群 - 服务层使用分布式调用框架dubbo - 数据库使用同步复制,实现数据冗余。 - 还要
2015-10-10 13:19:52 10839
原创 网站的高性能架构
性能测试角度用户视角的网站性能 用户点击到看到屏幕响应的感受。 受到网络带宽, 浏览器解析HTML速度。以及服务器处理的影响 可以通过优化HTML,利用多域名提高并发,调整浏览器缓存策略,使用CDN,反省代理开发人员视角 主要关注响应延迟,系统吞吐量,并发处理能力等技术指标。 常用优化手段:使用缓存,使用集群提高吞吐能力, 使用异步消息加快响应和削峰,程序优化运维视角 更关注资源利
2015-10-09 17:41:42 10763
原创 大型网站核心架构要素
非业务功能,还要关注性能,可用性,伸缩性,可扩展性,安全性五个要素。性能浏览器端可以浏览器缓存,压缩页面(gzip),合理布局页面,减少cookie传输等手段。CDN, 将静态内容分发到网络机房,网站机房部署反向代理缓存热点文件等应用服务器端,本地缓存,分布式缓存,处理热点数据,更好的性能和减少数据库压力异步操作,放到消息队列集群代码内部多线程数据库端,索引,缓存,sql优化,nosql
2015-10-09 17:27:16 11046
原创 网站架构模式
模式描述对重复发生时间的通用解决方案的核心。模式的价值在于可重复性。网站架构模式为了解决高并发访问,海量数据,高可靠运行,提出了很多解决方案实现高性能,高可用,易伸缩,可扩展,安全等技术架构。分层横向分成, mvc, 视图,业务,数据库层 进制跨层调用 会给以后的优化带来很多的方便 可以每层部署到不同的物理设备分割纵向切割, 按功能和服务包装成高内聚低耦合的模块单元。 一方面有利于开发和维
2015-10-09 17:26:29 10682
原创 网站技术笔记-演化
先上图 到现在为止都是通过新增组件来获得能力的。进化到这个架构大概需要如下的过程:最简单的,上传文件,应用程序和数据库都在同一台机器上把这三大块分离: 应用程序可能需要更快的cpu的电脑,数据库放到内存很大磁盘很快的电脑上去, 建立单独的文件服务器需要很大的磁盘用缓存改善性能,分为本地和远程,本地更快,远程更加可扩展。把集中访问的数据放到缓存上去。这样可以减少给数据库的压力单服务器并发处理
2015-09-25 15:00:16 24860
原创 Mysql13 复制2
复制管理监控SHOW MASTER LOGS; 查看主库当前有哪些二级制日志,其logname是其他命令的入参, file_size是偏移量也是入参。假设我们知道日志的偏移量(来源于上面的命令)使用: SHOW BINLOG EVENTS IN ‘mysql-bin.0000023’ FROM 13634; 能查看最后执行的sql语句。测量备库延迟SHOW SLA
2015-09-14 18:07:46 50476 2
原创 Mysql 可用性
高可用性就是保证尽量少的宕机时间。 尽量少的数据损坏。 一般会受到如下因素影响:环境因素, 比如磁盘耗尽性能问题, 可能是运行了超级慢的sql糟糕的schema和索引设计复制导致数据不一致。提升平均失效时间 (MTBF)就是连续运行的时间。 我们可以通过如下的注意点尽量避免:测试回复工具和流程最小权限用好的命名和组织约定避免混乱,比如测试开发库分离升级服
2015-09-14 17:48:20 49933
原创 Android WiFi Management Sample
Method onCreate(Bundle savedInstanceState) is called when the activity(WiFiManageActivity.java) is starting.These intent broadcasts (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION and WifiManager.RSSI_CHANG
2015-08-27 02:09:49 7445
原创 Mysql可扩展性
复制管理监控SHOW MASTER LOGS; 查看主库当前有哪些二级制日志,其logname是其他命令的入参, file_size是偏移量也是入参。假设我们知道日志的偏移量(来源于上面的命令)使用: SHOW BINLOG EVENTS IN ‘mysql-bin.0000023’ FROM 13634; 能查看最后执行的sql语句。测量备库延迟SHOW SLA
2015-08-26 18:15:49 52610 2
原创 Mysql 12 复制1
备份,灾难恢复,大规模,水平扩展,高性能的基础,也是高可用,可扩展,及数据仓库的基础。简述开销Mysql有两种复制方式:基于行的复制和基于语句的复制。 都是通过在主库上记录二进制日志,在备库上重放日志实现的。主要开销来自于:主库部分启用二进制日志带来的开销。 每个备库会增加网络开销主库开多线程给备库同步数据开销会累加通常使用读写分离,在备库中读来获得读扩展解决的问题负载均衡 读写分离
2015-08-19 18:06:51 49830 2
转载 mysql日志详细解析
http://www.cnblogs.com/wangkongming/p/3684950.htmlMySQL日志:主要包含:错误日志、查询日志、慢查询日志、事务日志、二进制日志;日志是mysql数据库的重要组成部分。日志文件中记录着mysql数据库运行期间发生的变化;也就是说用来记录mysql数据库的客户端连接状况、SQL语句的执行情况和错误信息等。当数据库遭到意外的损坏时,可以通过日志查看文件出
2015-08-17 18:36:20 31950 2
原创 Mysql 11配置项
配置文件一般在/etc/my.cnf或者是/etc/mysql/my.cnf语法:properties的语法,注意单词用-或_分割比如: auto-increment-offset=5分个类 按照作用域,可以分为全局的也就是配置在配置文件中的,或者是会话的,就是连接中的 还可分为动态和静态的。 动态就是在运行期间可以改写的,这个要特别小心,因为有可能造成全局刷新和阻塞
2015-08-17 18:17:10 49234 1
原创 Perl快捷删除数组重复元素
以前写过类似的博客: http://blog.csdn.net/three_man/article/details/34084361今天再拿出来,再好好剖析一下:构造一下含有重复元素的数组my @arr1 = (1 .. 10);my @arr2 = (5 .. 15);# join multi arraymy @arr = (@arr1, @arr2);删除数组中重复元素sub rem
2015-07-30 00:13:46 10597
原创 Perl OOP
模块/类(包) 创建一个名为Apple.pm的包文件(扩展名pm是包的缺省扩展名,意为Perl Module)。 一个模块就是一个类(包)。new()方法 new()方法是创建对象时必须被调用的,它是对象的构造函数。sub new{ my $class = shift; my $this = {}; bless $this, $class; return
2015-07-29 22:30:36 6790
原创 maven + sonar, gradle + sonar
sonar installation and configurationDownload sonar http://downloads.sonarsource.com/sonarqube/ Decompression sonar package for installationSet sonar environment variable SONAR_HOME: “D:\sonarqube”
2015-06-25 02:17:58 3661
原创 PosgreSQL Basic
1. Install postgresql postgresql-contribcamoss@cd-devel15:~$ sudo apt-get install postgresql postgresql-contribThis will install the latest version available in your Ubuntu release and the c
2015-05-28 16:11:17 6845
Android WiFi Monitor
2015-08-27
Android WiFi Management
2015-08-27
一个既简单的校验框架
2015-05-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人