Submit Search
Upload
中等创业公司后端技术选型
•
6 likes
•
1,301 views
wang hongjiang
Follow
startup choose technology Stack
Read less
Read more
Technology
Report
Share
Report
Share
1 of 35
Download now
Download to read offline
Recommended
FreeTalk: 企業資安下之工程師成長歷程
FreeTalk: 企業資安下之工程師成長歷程
loyo
Shell,信号量以及java进程的退出
Shell,信号量以及java进程的退出
wang hongjiang
Scala类型系统
Scala类型系统
wang hongjiang
Jvm内存管理基础
Jvm内存管理基础
wang hongjiang
Java7 fork join framework and closures
Java7 fork join framework and closures
wang hongjiang
善用工具
善用工具
wang hongjiang
聊一些电影
聊一些电影
wang hongjiang
Ali-tomcat
Ali-tomcat
wang hongjiang
Recommended
FreeTalk: 企業資安下之工程師成長歷程
FreeTalk: 企業資安下之工程師成長歷程
loyo
Shell,信号量以及java进程的退出
Shell,信号量以及java进程的退出
wang hongjiang
Scala类型系统
Scala类型系统
wang hongjiang
Jvm内存管理基础
Jvm内存管理基础
wang hongjiang
Java7 fork join framework and closures
Java7 fork join framework and closures
wang hongjiang
善用工具
善用工具
wang hongjiang
聊一些电影
聊一些电影
wang hongjiang
Ali-tomcat
Ali-tomcat
wang hongjiang
functional-scala
functional-scala
wang hongjiang
美团点评技术沙龙09 - 一个用户行为分析产品的设计与实现
美团点评技术沙龙09 - 一个用户行为分析产品的设计与实现
美团点评技术团队
Aswan&hump
Aswan&hump
wang hongjiang
Enum开锁
Enum开锁
wang hongjiang
深入剖析Concurrent hashmap中的同步机制(下)
深入剖析Concurrent hashmap中的同步机制(下)
wang hongjiang
Scala function-and-closures
Scala function-and-closures
wang hongjiang
美团技术沙龙03 - 实时数据仓库解决方案
美团技术沙龙03 - 实时数据仓库解决方案
美团点评技术团队
雪球服务化实践历程.Print
雪球服务化实践历程.Print
fulin tang
STORM as an ETL Engine to HADOOP
STORM as an ETL Engine to HADOOP
DataWorks Summit
Hash map导致cpu100% 的分析
Hash map导致cpu100% 的分析
wang hongjiang
Exodus重构和向apollo迁移
Exodus重构和向apollo迁移
wang hongjiang
Effective linux.1.(commandline)
Effective linux.1.(commandline)
wang hongjiang
Effective linux.3.(diagnosis)
Effective linux.3.(diagnosis)
wang hongjiang
Effective linux.2.(tools)
Effective linux.2.(tools)
wang hongjiang
Exodus2 大局观
Exodus2 大局观
wang hongjiang
深入剖析Concurrent hashmap中的同步机制(上)
深入剖析Concurrent hashmap中的同步机制(上)
wang hongjiang
美团技术沙龙04 - 高性能服务器架构设计和调优
美团技术沙龙04 - 高性能服务器架构设计和调优
美团点评技术团队
Real world akka recepies v3
Real world akka recepies v3
shinolajla
Automatic Scaling Iterative Computations
Automatic Scaling Iterative Computations
Guozhang Wang
Behavioral Simulations in MapReduce
Behavioral Simulations in MapReduce
Guozhang Wang
101.09.17 創業進階班-創業準備與商品知識-詹翔霖教授
101.09.17 創業進階班-創業準備與商品知識-詹翔霖教授
文化大學
101.09.05 創業贏家-創業主的人格特質與心理準備-詹翔霖教授
101.09.05 創業贏家-創業主的人格特質與心理準備-詹翔霖教授
文化大學
More Related Content
Viewers also liked
functional-scala
functional-scala
wang hongjiang
美团点评技术沙龙09 - 一个用户行为分析产品的设计与实现
美团点评技术沙龙09 - 一个用户行为分析产品的设计与实现
美团点评技术团队
Aswan&hump
Aswan&hump
wang hongjiang
Enum开锁
Enum开锁
wang hongjiang
深入剖析Concurrent hashmap中的同步机制(下)
深入剖析Concurrent hashmap中的同步机制(下)
wang hongjiang
Scala function-and-closures
Scala function-and-closures
wang hongjiang
美团技术沙龙03 - 实时数据仓库解决方案
美团技术沙龙03 - 实时数据仓库解决方案
美团点评技术团队
雪球服务化实践历程.Print
雪球服务化实践历程.Print
fulin tang
STORM as an ETL Engine to HADOOP
STORM as an ETL Engine to HADOOP
DataWorks Summit
Hash map导致cpu100% 的分析
Hash map导致cpu100% 的分析
wang hongjiang
Exodus重构和向apollo迁移
Exodus重构和向apollo迁移
wang hongjiang
Effective linux.1.(commandline)
Effective linux.1.(commandline)
wang hongjiang
Effective linux.3.(diagnosis)
Effective linux.3.(diagnosis)
wang hongjiang
Effective linux.2.(tools)
Effective linux.2.(tools)
wang hongjiang
Exodus2 大局观
Exodus2 大局观
wang hongjiang
深入剖析Concurrent hashmap中的同步机制(上)
深入剖析Concurrent hashmap中的同步机制(上)
wang hongjiang
美团技术沙龙04 - 高性能服务器架构设计和调优
美团技术沙龙04 - 高性能服务器架构设计和调优
美团点评技术团队
Real world akka recepies v3
Real world akka recepies v3
shinolajla
Automatic Scaling Iterative Computations
Automatic Scaling Iterative Computations
Guozhang Wang
Behavioral Simulations in MapReduce
Behavioral Simulations in MapReduce
Guozhang Wang
Viewers also liked
(20)
functional-scala
functional-scala
美团点评技术沙龙09 - 一个用户行为分析产品的设计与实现
美团点评技术沙龙09 - 一个用户行为分析产品的设计与实现
Aswan&hump
Aswan&hump
Enum开锁
Enum开锁
深入剖析Concurrent hashmap中的同步机制(下)
深入剖析Concurrent hashmap中的同步机制(下)
Scala function-and-closures
Scala function-and-closures
美团技术沙龙03 - 实时数据仓库解决方案
美团技术沙龙03 - 实时数据仓库解决方案
雪球服务化实践历程.Print
雪球服务化实践历程.Print
STORM as an ETL Engine to HADOOP
STORM as an ETL Engine to HADOOP
Hash map导致cpu100% 的分析
Hash map导致cpu100% 的分析
Exodus重构和向apollo迁移
Exodus重构和向apollo迁移
Effective linux.1.(commandline)
Effective linux.1.(commandline)
Effective linux.3.(diagnosis)
Effective linux.3.(diagnosis)
Effective linux.2.(tools)
Effective linux.2.(tools)
Exodus2 大局观
Exodus2 大局观
深入剖析Concurrent hashmap中的同步机制(上)
深入剖析Concurrent hashmap中的同步机制(上)
美团技术沙龙04 - 高性能服务器架构设计和调优
美团技术沙龙04 - 高性能服务器架构设计和调优
Real world akka recepies v3
Real world akka recepies v3
Automatic Scaling Iterative Computations
Automatic Scaling Iterative Computations
Behavioral Simulations in MapReduce
Behavioral Simulations in MapReduce
Similar to 中等创业公司后端技术选型
101.09.17 創業進階班-創業準備與商品知識-詹翔霖教授
101.09.17 創業進階班-創業準備與商品知識-詹翔霖教授
文化大學
101.09.05 創業贏家-創業主的人格特質與心理準備-詹翔霖教授
101.09.05 創業贏家-創業主的人格特質與心理準備-詹翔霖教授
文化大學
101.09.28 創業者該有的商業邏輯思維-中華創業育成協會-詹翔霖教授
101.09.28 創業者該有的商業邏輯思維-中華創業育成協會-詹翔霖教授
文化大學
101.06.30 創業管理-空大-詹翔霖教授
101.06.30 創業管理-空大-詹翔霖教授
文化大學
101.11.15 創業者該有的贏家邏輯思維-勞委會-詹翔霖教授
101.11.15 創業者該有的贏家邏輯思維-勞委會-詹翔霖教授
文化大學
关于职业发展的一点思考
关于职业发展的一点思考
kevin_ke
关于职业发展的一点思考
关于职业发展的一点思考
Frank Cheung
101.07.21 08.11-夢想啟航創業概論-鞋類暨運動休閒科技研發中心-詹翔霖教授
101.07.21 08.11-夢想啟航創業概論-鞋類暨運動休閒科技研發中心-詹翔霖教授
文化大學
101.07.21 08.11-夢想啟航創業概論-鞋類暨運動休閒科技研發中心-詹翔霖教授
101.07.21 08.11-夢想啟航創業概論-鞋類暨運動休閒科技研發中心-詹翔霖教授
文化大學
102.03.15 創新服務與行銷管理-內政部社會福利工作人員研習中心--詹翔霖教授
102.03.15 創新服務與行銷管理-內政部社會福利工作人員研習中心--詹翔霖教授
文化大學
創業進階班-策略行銷-詹翔霖教授
創業進階班-策略行銷-詹翔霖教授
文化大學
101.07.21 08.11-夢想啟航創業概論-鞋類暨運動休閒科技研發中心-詹翔霖教授
101.07.21 08.11-夢想啟航創業概論-鞋類暨運動休閒科技研發中心-詹翔霖教授
文化大學
101.10.16 創業贏家特質與準備-詹翔霖教授-台灣女性創業研究發展協會
101.10.16 創業贏家特質與準備-詹翔霖教授-台灣女性創業研究發展協會
文化大學
圓夢計畫 –創業顧問的職責-詹翔霖教授-簡體1版
圓夢計畫 –創業顧問的職責-詹翔霖教授-簡體1版
文化大學
101.09.11 餐飲業戰鬥力提升-中華創業育成協會-詹翔霖教授-2版
101.09.11 餐飲業戰鬥力提升-中華創業育成協會-詹翔霖教授-2版
文化大學
101.06.30 創業管理-空大-市場評估 -詹翔霖教授
101.06.30 創業管理-空大-市場評估 -詹翔霖教授
文化大學
101.07.21 08.11-夢想啟航創業概論-鞋類暨運動休閒科技研發中心-詹翔霖教授
101.07.21 08.11-夢想啟航創業概論-鞋類暨運動休閒科技研發中心-詹翔霖教授
文化大學
101.10.16 領導者潛能開發-詹翔霖教授-台灣女性創業研究發展協會
101.10.16 領導者潛能開發-詹翔霖教授-台灣女性創業研究發展協會
文化大學
101.10.16 領導者潛能開發-詹翔霖教授-台灣女性創業研究發展協會
101.10.16 領導者潛能開發-詹翔霖教授-台灣女性創業研究發展協會
文化大學
圓夢計畫 –創業顧問的職責-詹翔霖教授-1版
圓夢計畫 –創業顧問的職責-詹翔霖教授-1版
文化大學
Similar to 中等创业公司后端技术选型
(20)
101.09.17 創業進階班-創業準備與商品知識-詹翔霖教授
101.09.17 創業進階班-創業準備與商品知識-詹翔霖教授
101.09.05 創業贏家-創業主的人格特質與心理準備-詹翔霖教授
101.09.05 創業贏家-創業主的人格特質與心理準備-詹翔霖教授
101.09.28 創業者該有的商業邏輯思維-中華創業育成協會-詹翔霖教授
101.09.28 創業者該有的商業邏輯思維-中華創業育成協會-詹翔霖教授
101.06.30 創業管理-空大-詹翔霖教授
101.06.30 創業管理-空大-詹翔霖教授
101.11.15 創業者該有的贏家邏輯思維-勞委會-詹翔霖教授
101.11.15 創業者該有的贏家邏輯思維-勞委會-詹翔霖教授
关于职业发展的一点思考
关于职业发展的一点思考
关于职业发展的一点思考
关于职业发展的一点思考
101.07.21 08.11-夢想啟航創業概論-鞋類暨運動休閒科技研發中心-詹翔霖教授
101.07.21 08.11-夢想啟航創業概論-鞋類暨運動休閒科技研發中心-詹翔霖教授
101.07.21 08.11-夢想啟航創業概論-鞋類暨運動休閒科技研發中心-詹翔霖教授
101.07.21 08.11-夢想啟航創業概論-鞋類暨運動休閒科技研發中心-詹翔霖教授
102.03.15 創新服務與行銷管理-內政部社會福利工作人員研習中心--詹翔霖教授
102.03.15 創新服務與行銷管理-內政部社會福利工作人員研習中心--詹翔霖教授
創業進階班-策略行銷-詹翔霖教授
創業進階班-策略行銷-詹翔霖教授
101.07.21 08.11-夢想啟航創業概論-鞋類暨運動休閒科技研發中心-詹翔霖教授
101.07.21 08.11-夢想啟航創業概論-鞋類暨運動休閒科技研發中心-詹翔霖教授
101.10.16 創業贏家特質與準備-詹翔霖教授-台灣女性創業研究發展協會
101.10.16 創業贏家特質與準備-詹翔霖教授-台灣女性創業研究發展協會
圓夢計畫 –創業顧問的職責-詹翔霖教授-簡體1版
圓夢計畫 –創業顧問的職責-詹翔霖教授-簡體1版
101.09.11 餐飲業戰鬥力提升-中華創業育成協會-詹翔霖教授-2版
101.09.11 餐飲業戰鬥力提升-中華創業育成協會-詹翔霖教授-2版
101.06.30 創業管理-空大-市場評估 -詹翔霖教授
101.06.30 創業管理-空大-市場評估 -詹翔霖教授
101.07.21 08.11-夢想啟航創業概論-鞋類暨運動休閒科技研發中心-詹翔霖教授
101.07.21 08.11-夢想啟航創業概論-鞋類暨運動休閒科技研發中心-詹翔霖教授
101.10.16 領導者潛能開發-詹翔霖教授-台灣女性創業研究發展協會
101.10.16 領導者潛能開發-詹翔霖教授-台灣女性創業研究發展協會
101.10.16 領導者潛能開發-詹翔霖教授-台灣女性創業研究發展協會
101.10.16 領導者潛能開發-詹翔霖教授-台灣女性創業研究發展協會
圓夢計畫 –創業顧問的職責-詹翔霖教授-1版
圓夢計畫 –創業顧問的職責-詹翔霖教授-1版
中等创业公司后端技术选型
1.
中等创业公司的后端技术选型 错⼑刀@挖财 http://hongjiang.info
2.
中等互联⺴⽹网创业公司?
3.
怎么定义 • 公司⼈人员规模? • 产品的⽤用户量/访问量? •
融资/⽣生存状况?
4.
怎么定义 • 公司⼈人员规模? – 研发⼈人员在 50
⼈人以上 • 产品的⽤用户量/访问量? – 百万/千万 级别以上 • 融资/⽣生存状况? – 已有⼤大致的发展模式
5.
架构就是做选择 • ⼈人的因素 – ⽔水平、背景、历史因素 • 业务特点 •
⽣生态系统
6.
架构就是做选择 • 扩展性: – 可能的变数 •
稳定性 – 运维的成熟度 – 经得住考验 • 安全性 – 是否快速响应 • 没有最优,只有权衡
7.
略微进取⼀一点的保守派
8.
编程语⾔言 • ⼤大部分业务基于JVM⽣生态系统 – Java8/Scala2.10+ • 少量 – C++/Go
9.
后端栈 • 负载均衡 • HttpServer •
应⽤用服务器 • Web/ Front-end层 • 服务调⽤用层 • 缓存 • 持久层
10.
负载均衡/反向代理 • Haproxy • Nginx/Tengine •
反向代理与后端应⽤用服务器的连接模式(插 件实现)也是需要考虑的
11.
应⽤用服务器 • Tomcat (采⽤用) •
Jetty • Jboss • Wildfly/Undertow – 不成熟
12.
应⽤用服务器 • Tomcat – 对于⼤大多创业公司的访问量BIO⾜足够了,很稳定 –
NIO在7.0.52后的版本也是很稳定的 – 不建议采⽤用基于native的APR模式 – 建议单应⽤用部署 参考: taobao使⽤用ali-tomcat遇到过的⼀一些问题和经验 http://hongjiang.info/index/tomcat/
13.
Web框架 • Spring-MVC (采⽤用) •
Play-framework (内部⼩小范围) • Struts (不适合) • Webx (不适合)
14.
Spring • 依赖注⼊入(DI)是⼀一种协作⽅方式 • 群众基础(⾮非常重要) •
遵循⼀一种统⼀一的⻛风格 – 对于团队 xml优于annotation
15.
SOA • Dubbo – 没有其他可对⽐比的(群众基础)
16.
SOA • Dubbo 的注意问题 – 默认配置是为阿⾥里的场景预设的 – 建议线程池采⽤用cached⽅方式 – 注册信息的本地缓存⽂文件路径设置不要⽤用默认 值 – 写操作不要设置重试 –
Hessian bug很多
17.
链路跟踪 • 淘宝鹰眼 (未开源) •
Twitter zipkin • ⼤大众点评 Cat
18.
⽇日志采集 • LogStash • Elasticsearch
19.
消息系统 • Kafka (采⽤用) •
MateQ • RabbitMQ • Activemq
20.
消息系统 • Kafka的⼀一些感受和建议 – 稳定,快速 – 量不⼤大的情况单分区⾜足够 – Replica 多份是必须的 – 注意消息重复的情况 – 建议发送时启⽤用ack – 消费端的offset不建议采⽤用zk维护 – 合理的设置保留时间
21.
缓存 • Memcached • Redis
(采⽤用)
22.
数据层 • Mysql +
Cobar (采⽤用) • PostgreSql • Hbase (采⽤用) • MongoDB (采⽤用)
23.
数据层 • 连接池: – Druid (可监控性) – 建议在应⽤用上配置,不建议在servlet容器层配 置 •
框架: – Mybatis • 注意类型参数
24.
数据流处理 • Akka • Akka
Streamings • 其他streaming框架
25.
数据流处理 • Akka – Push or
Pull ? – Back pressure – 持久化特性不够稳定 – 设置合适的Supervisor – 与Spring 的整合
26.
模块化 • 依赖冲突与模块化 – OSGI 或
⾃自实现⼀一个轻量级的隔离? – 暂通过脚本⾃自⾏行解决 – Maven的仲裁机制的问题 – 未来随着业务和⼈人员的扩张,模块化问题是绕 不过的
27.
监控&诊断 • JMX • ⼯工具&脚本 •
Agent – 不要因为Agent在每台机器都有⽽而基于它做太 多的事情(进程被传染的案例)
28.
安全 • app端通讯⾛走ssl是必要的 • 设置Tomcat的app⺫⽬目录权限只读 •
框架漏洞
29.
安全 • Tomcat的安全隐患 (及时关注,及时更新) –
eg: 7.0.53以下版本的Dos漏洞 构造特殊大小的chunked请求 $ echo -n $'POST /test.war/index.html HTTP/1.1rnHost: anyrnTransfer- encoding: chunkedrnrn1f2f3f4f5frnarn0rnrn' | nc localhost 8080 注,如果前端⽤用Tengine 不受影响。 1.2.9版本及以前不⽀支持chunked。 1.4.X版本⽀支持,但是两种情况: ⼀一种是收完上传内容,再发往后端,这种会使⽤用Content-Length,没问题。 ⼀一种是收⼀一段转发⼀一段,这种⽅方式tengine(nginx)会重新构造chunk包再 发往后端,所以chunk⼤大⼩小可控。
30.
其他 • 序列化 – 1) json – 2)
msgpack – 3) hessian 随着服务规模膨胀,cpu耗费在序列化/反序列化 的⽐比重增加
31.
其他 • 分布式锁: – 1) zookeeper – 2)
redis
32.
其他 • 异步化 • Servlet3.0/3.1 •
静态资源托管以及CDN的选择
33.
其他 scala tips •
Scala编译选项: -feature -deprecation -unchecked -explaintypes -Yno-adapted-args -Ywarn-dead-code -Ywarn-unused -Ywarn-unused-import
34.
其他 scala tips •
Scala 的陷阱 – http://hongjiang.info/scala/ – pitfalls 系列
35.
架构是衍化出来的,不是规划出来 的 • 可⽤用优于完美 • 整体优于局部
Download now