作者:huojg
cnblogs.com/huojg-21442/articles/8194348.html
其实这里面主要给大家说的是技术选型。
由于我中型互联网公司工作,针对用于手机APP或者pc的后台开发,基本可以支撑几万用户。本文会对可能用到的相关技术进行技术选型的说明,以及技术的架构介绍
说一下一些技术指标的计算过程可以作为其他同学的参考
这些数据需要运维人员的估算,
我们基于阿里云来搭建,对图中的内容和技术选型进行一下说明:
可选方案:SLB, Nginx.
建议:SLB + Nginx, SLB绑定域名作为统一的入口,然后每个服务器上再搭建Nginx.
用于缓存静态文件等等。七牛和阿里的都还可以。
目前可选的有ZK + dubbo. ZK + Motan, ZK + dubbox, edas。
可选的有:ActiveMQ, rocketMQ, robbitMQ,Kafka各有好处, 但是考虑到运维的难度,推荐rocketMQ。
用来做缓存, 自建成本有点高,需要Codis, 分片,集群,主从等等,很麻烦。建议直接用阿里的
也可以用来处理分布式的数据共享session的工具、
主要基于读写分离和主从复制考虑,目前可以自建和选用阿里的DRDS。
apache solr 搜索引擎。相比其他用起来还可以。
建议ELK, 可以自动同步数据库,除了搜索引擎的功能外,还可以做日志搜索,监控系统。
Jenkins 与 Sonar 集成是代码管理工具重要体现。
apache中sonar代码管理。是我们优化方案找出代码不规格的重要工具、Jenkins是我们打包发布重要工具。
把业务底层做成SOA模块,通过分布式调用框架对外提供服务。
后期进行SOA到微服务的改造都会涉及。单独做一个小的系统来运行定时任务热点数据放缓存,然后通过MQ来更新缓存日志等数据有必要可以考虑上个Mongo。