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的队列系统
• Zero...
ZooKeeper: 远程调用管理组件
解决了以下三个问题:
– 维护服务列表
– 分布式锁
– 配置管理
运维与监控
• 轻型:Monit/MMonit
• 重型:Nagios, Ganglia, Catti, Zabbix
• 服务器运行数据采集: Tsar、Glances,比
传统的命令(top,sar,vmstat, iostat,
free...
日志分析
• 日志收集: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
•...
流程引擎
• Activity5
• JPBM
• Drools
Cluster
• Linux Server Cluster:
LVS+heartbeat/keepalived
• Web server Cluster: nginx+tomcat
• Cache Cluster: redis, memcac...
Restfull API Service
• Restlet
• Apache CXF
• Oracle Jersey
• Jboss Resteasy
• …
*面向资源的服务框架,提供接口路由、信息
过滤、安全验证等功能。
* Spring...
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,...
Java 开发
• Hibernate MyBatis
• Spring Security  Shiro
• Dozer
• Spring Test
• Log4j  Logback
• DBCP,C3P0 Druid
• Common...
结束
• 献丑了
谢谢
• 提问
Upcoming SlideShare
Loading in...5
×

Knowledge sharing

390

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
390
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Knowledge sharing

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

    Clipping is a handy way to collect important slides you want to go back to later.

×