SlideShare une entreprise Scribd logo
1  sur  23
Knowledge Sharing
万鹏
分机号:52248
Who am I
• 来自杭州
• 美国道富银行速贷邦CMB
• 唯一网络ID:wptree
• 微信/QQ:174662319
内容提纲
• 开源组件/工具的选择
• 开发/调试工具的选择
• JAVA应用开发的技术选型
一些前提
• 只谈开源
• 所有结论都是基于Linux/Unix
• 只谈经验,不谈细节
• 个人意见,仅供参考
HTTP Server
• Nginx VS Apache 的使用心得
– Nginx支持epoll,速度更快
– Nginx学习成本低,易用
– Tengine is better
Web Server
• Tomcat:成熟稳定、适合复杂业务、短连接
• Jetty:易于定制、适合轻型业务、长连接
• 其他Web Server:Jboss(Wildfly)、Glassfish、
Resin
消息中间件
• RabbitMQ – 基于erlang开发,提供持久化,
高速,最稳定, Spring原生态支持
• Redis pub/sub – 与Redis无缝集成
• RestMQ – 基于redis 的http的队列系统
• ZeroMQ – No broker,速度最快
• ActiveMQ – 纯Java开发,速度略慢
• MetaQ – 阿里巴巴开源产品
• Kafka- Linkedin开源产品
ZooKeeper: 远程调用管理组件
解决了以下三个问题:
– 维护服务列表
– 分布式锁
– 配置管理
运维与监控
• 轻型:Monit/MMonit
• 重型:Nagios, Ganglia, Catti, Zabbix
• 服务器运行数据采集: Tsar、Glances,比
传统的命令(top,sar,vmstat, iostat,
free,uptime )等好用
• Piwik: 用户行为分析,应用日志分析
• 报表工具: RRDtool
日志分析
• 日志收集:Apache Flume
• 实时日志分析:Fluentd
• 离线日志分析:hadoop/hive
• 分析工具: Rsyslog
集中式配置
• Puppet
• Chef
• Capistrano
• Salt
持续集成
• Jeckins
• Sonar
• Maven
• TeamCity
性能测试
• 模拟流量
– 商业软件:LoadRunner
– 开源:Gatling, Jmeter, http-load , ab, webbench
• 引流: 负载均衡修改权重
• 流量复制: tcpcopy
tcpcopy
缓存
• Brower Cache
• Static Cache: varnish, squid, nginx_cache
• Proxy Cache: nginx_proxy
• NoSql Cache: redis, memcached
• Memory Cache: ehache, jcache, oscache
• Database Cache: memcached
• OS Cache: network, filesystem, CPU
流程引擎
• Activity5
• JPBM
• Drools
Cluster
• Linux Server Cluster:
LVS+heartbeat/keepalived
• Web server Cluster: nginx+tomcat
• Cache Cluster: redis, memcached (客户端分
布式)
• Database Cluster: mysql master/slave, MMM
Restfull API Service
• Restlet
• Apache CXF
• Oracle Jersey
• Jboss Resteasy
• …
*面向资源的服务框架,提供接口路由、信息
过滤、安全验证等功能。
* Spring MVC Rest API is not good enough
ESB
• Spring Integration
• WSO2
• Camel
• Fuse ESB
• Mule ESB
• …
提供可靠消息传输,服务接入,协议转换,数据
格式转换,基于内容的路由等功能,屏蔽了服
务的物理位置,协议和数据格式。
开发工具
• 开发工具:Intelli J > STS > Eclipse
• 文本工具:Sublime
• 数据库客户端:Navicat, Heidisql, DBeaver
调试工具
• 抓包工具:Wireshark(有界面),tcpdump
• Request-Id
• 系统调用跟踪工具:Strace/dtruss
• lsof, valgrind, ltrace
• For JAVA: jstat, jmap, MAT, ViusalVM
Java 开发
• Hibernate MyBatis
• Spring Security  Shiro
• Dozer
• Spring Test
• Log4j  Logback
• DBCP,C3P0 Druid
• Commons-*, Guava, joda
• Ehcache
• Netty/Mina
结束
• 献丑了
谢谢
• 提问

Contenu connexe

Tendances

Truck js 高性能移动web开发解决方案
Truck js 高性能移动web开发解决方案Truck js 高性能移动web开发解决方案
Truck js 高性能移动web开发解决方案美团技术团队
 
哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌
哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌
哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌Tun-Yu Chang
 
Ch13 整合Spring MVC
Ch13  整合Spring MVC Ch13  整合Spring MVC
Ch13 整合Spring MVC Justin Lin
 
Rekoo social game 后端架构简介
Rekoo social game 后端架构简介Rekoo social game 后端架构简介
Rekoo social game 后端架构简介Binghong Liang
 
构建可维护的Javascript 小米网
构建可维护的Javascript 小米网构建可维护的Javascript 小米网
构建可维护的Javascript 小米网yang alex
 
看似比較簡單的推坑教學 資工系學生的學習目標
看似比較簡單的推坑教學 資工系學生的學習目標看似比較簡單的推坑教學 資工系學生的學習目標
看似比較簡單的推坑教學 資工系學生的學習目標永立 連
 
前端编译平台
前端编译平台前端编译平台
前端编译平台Welefen Lee
 
Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出Eric Xiao
 
Multi thread 多執行緒程式設計(use c#)
Multi thread 多執行緒程式設計(use c#)Multi thread 多執行緒程式設計(use c#)
Multi thread 多執行緒程式設計(use c#)Gelis Wu
 
看似比較簡單Linux的推坑教學 何謂 Linux ?
看似比較簡單Linux的推坑教學 何謂 Linux ? 看似比較簡單Linux的推坑教學 何謂 Linux ?
看似比較簡單Linux的推坑教學 何謂 Linux ? 永立 連
 

Tendances (10)

Truck js 高性能移动web开发解决方案
Truck js 高性能移动web开发解决方案Truck js 高性能移动web开发解决方案
Truck js 高性能移动web开发解决方案
 
哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌
哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌
哥寫的不是程式,是軟體 - 從嵌入式系統看軟體工程全貌
 
Ch13 整合Spring MVC
Ch13  整合Spring MVC Ch13  整合Spring MVC
Ch13 整合Spring MVC
 
Rekoo social game 后端架构简介
Rekoo social game 后端架构简介Rekoo social game 后端架构简介
Rekoo social game 后端架构简介
 
构建可维护的Javascript 小米网
构建可维护的Javascript 小米网构建可维护的Javascript 小米网
构建可维护的Javascript 小米网
 
看似比較簡單的推坑教學 資工系學生的學習目標
看似比較簡單的推坑教學 資工系學生的學習目標看似比較簡單的推坑教學 資工系學生的學習目標
看似比較簡單的推坑教學 資工系學生的學習目標
 
前端编译平台
前端编译平台前端编译平台
前端编译平台
 
Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出
 
Multi thread 多執行緒程式設計(use c#)
Multi thread 多執行緒程式設計(use c#)Multi thread 多執行緒程式設計(use c#)
Multi thread 多執行緒程式設計(use c#)
 
看似比較簡單Linux的推坑教學 何謂 Linux ?
看似比較簡單Linux的推坑教學 何謂 Linux ? 看似比較簡單Linux的推坑教學 何謂 Linux ?
看似比較簡單Linux的推坑教學 何謂 Linux ?
 

Similaire à Knowledge sharing

Introduction to NodeJS
Introduction to NodeJSIntroduction to NodeJS
Introduction to NodeJSTechParty@UIC
 
Asp.net core v1.0
Asp.net core v1.0Asp.net core v1.0
Asp.net core v1.0國昭 張
 
Nodejs介绍
Nodejs介绍Nodejs介绍
Nodejs介绍myzykj
 
Eventmachine Websocket 實戰
Eventmachine Websocket 實戰Eventmachine Websocket 實戰
Eventmachine Websocket 實戰Mu-Fan Teng
 
课题二:Node.js那些事儿
课题二:Node.js那些事儿课题二:Node.js那些事儿
课题二:Node.js那些事儿Liu Allen
 
吴岷 视频Cdn分发、调度与服务的探讨
吴岷  视频Cdn分发、调度与服务的探讨吴岷  视频Cdn分发、调度与服务的探讨
吴岷 视频Cdn分发、调度与服务的探讨drewz lin
 
寫出高性能的服務與應用 那些你沒想過的事
寫出高性能的服務與應用 那些你沒想過的事寫出高性能的服務與應用 那些你沒想過的事
寫出高性能的服務與應用 那些你沒想過的事Chieh (Jack) Yu
 
Sdn 之旅 open suse_asia_summit_20151206
Sdn 之旅 open suse_asia_summit_20151206Sdn 之旅 open suse_asia_summit_20151206
Sdn 之旅 open suse_asia_summit_20151206Fei Ji Siao
 
Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAEq3boy
 
白玉磊 Webrebuild
白玉磊 Webrebuild白玉磊 Webrebuild
白玉磊 Webrebuild裕波 周
 
石玉磊 Web rebuild
石玉磊 Web rebuild石玉磊 Web rebuild
石玉磊 Web rebuildWebrebuild
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰Scourgen Hong
 
构建基于Lamp的中型网站架构
构建基于Lamp的中型网站架构构建基于Lamp的中型网站架构
构建基于Lamp的中型网站架构HonestQiao
 
大众点评网的技术变迁之路
大众点评网的技术变迁之路大众点评网的技术变迁之路
大众点评网的技术变迁之路jeffz
 
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)Shanda innovation institute
 
易度云查看 - 产品介绍
易度云查看 - 产品介绍易度云查看 - 产品介绍
易度云查看 - 产品介绍changxing qi
 
快速搭建高性能服务端
快速搭建高性能服务端快速搭建高性能服务端
快速搭建高性能服务端moonbingbing
 
Open cdn快速部署你的私有cdn集群
Open cdn快速部署你的私有cdn集群Open cdn快速部署你的私有cdn集群
Open cdn快速部署你的私有cdn集群
 
构建基于Lamp的网站架构
构建基于Lamp的网站架构构建基于Lamp的网站架构
构建基于Lamp的网站架构Cosey Lee
 

Similaire à Knowledge sharing (20)

Introduction to NodeJS
Introduction to NodeJSIntroduction to NodeJS
Introduction to NodeJS
 
Asp.net core v1.0
Asp.net core v1.0Asp.net core v1.0
Asp.net core v1.0
 
Asp.net core v1.0
Asp.net core v1.0Asp.net core v1.0
Asp.net core v1.0
 
Nodejs介绍
Nodejs介绍Nodejs介绍
Nodejs介绍
 
Eventmachine Websocket 實戰
Eventmachine Websocket 實戰Eventmachine Websocket 實戰
Eventmachine Websocket 實戰
 
课题二:Node.js那些事儿
课题二:Node.js那些事儿课题二:Node.js那些事儿
课题二:Node.js那些事儿
 
吴岷 视频Cdn分发、调度与服务的探讨
吴岷  视频Cdn分发、调度与服务的探讨吴岷  视频Cdn分发、调度与服务的探讨
吴岷 视频Cdn分发、调度与服务的探讨
 
寫出高性能的服務與應用 那些你沒想過的事
寫出高性能的服務與應用 那些你沒想過的事寫出高性能的服務與應用 那些你沒想過的事
寫出高性能的服務與應用 那些你沒想過的事
 
Sdn 之旅 open suse_asia_summit_20151206
Sdn 之旅 open suse_asia_summit_20151206Sdn 之旅 open suse_asia_summit_20151206
Sdn 之旅 open suse_asia_summit_20151206
 
Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAE
 
白玉磊 Webrebuild
白玉磊 Webrebuild白玉磊 Webrebuild
白玉磊 Webrebuild
 
石玉磊 Web rebuild
石玉磊 Web rebuild石玉磊 Web rebuild
石玉磊 Web rebuild
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
 
构建基于Lamp的中型网站架构
构建基于Lamp的中型网站架构构建基于Lamp的中型网站架构
构建基于Lamp的中型网站架构
 
大众点评网的技术变迁之路
大众点评网的技术变迁之路大众点评网的技术变迁之路
大众点评网的技术变迁之路
 
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
 
易度云查看 - 产品介绍
易度云查看 - 产品介绍易度云查看 - 产品介绍
易度云查看 - 产品介绍
 
快速搭建高性能服务端
快速搭建高性能服务端快速搭建高性能服务端
快速搭建高性能服务端
 
Open cdn快速部署你的私有cdn集群
Open cdn快速部署你的私有cdn集群Open cdn快速部署你的私有cdn集群
Open cdn快速部署你的私有cdn集群
 
构建基于Lamp的网站架构
构建基于Lamp的网站架构构建基于Lamp的网站架构
构建基于Lamp的网站架构
 

Knowledge sharing