前言:
自己也参与过app上的前后端分离项目,说是项目,其实就是app上一个新的功能。和其他功能不相干,所以不是在公司app项目基础上做的新增,而是一个单独的maven项目,具体到代码,自己参与的还只是CRUD,写service,以至于再去面试,别人问到这个前后端分离的一些具体问题,自己就答不上来。离开了上家公司,所以想把前后端分离模式下的一些细节问题弄懂。在网上买的这个教程。题目是《从无到有搭建中小型互联网公司后台服务架构与运维架构》,感觉这个正是自己想要了解的。学学吧,这里做一些记录,以便日后使用查阅。如有错误,请指教,谢谢!
这是课程介绍的内容:
本课程主要是针对如何从无到有搭建中小型互联网公司后台服务架构和运维架构的课程,课程所涉及的内容均是当前应用最广泛的技术和工具。本课程所讲解的技术体系已经在多个中小型互联网公司中实战运行使用,目前运行已经非常稳定,数据量也是在不断持续增加。并且,这个技术体系也正在被其他很多互联网公司应用,希望通过此课程,让大家能快速熟练掌握各个技术,并且能实际应用到项目中。课程将会通过实际案例讲解,并且会提供完整的视频案例源码供学员学习使用,同时有需要的企业或学员可以直接拿本套教学案例代码来使用或者二次开发。
本课程设计的技术及工具如下:
后台服务架构:dubbo、spring-boot、spring mvc、spring-security-oauth2、spring-ldap、spring-data-jpa等
项目管理工具:maven、nexus
版本管理工具:gitlab、git
数据库:mysql、mongodb
运维监控工具:Open-Falcon
日志管理工具:ELK
持续集成工具:Jenkins
协作工具:confluence
缓存:redis
消息中间件:kafka、rocketmq
web服务器:tomcat、nginx
容器引擎:docker
本课程讲解的流程:
1、 首先讲解大家都已经熟悉的dubbo技术体系,结合dubbo搭建出一个完整的基于restful的技术框架
2、 结合dubbo的restful框架,加上基于oauth2的token验证,并实现统一用户中心的设计
3、 重点讲解spring boot,然后结合之前的dubbo技术框架进行改造,实现spring boot和dubbo的相融合
4、 作为一个技术架构肯定涉及java性能调优,所以之后会根据图示讲解jvm里的一系列东西,帮助大家充分了解jvm
5、 讲解消息中间件redis,以及高可用集群搭建,以及里面的数据类型,分布式以及一致性问题的讲解
6、 git、elk、jenkins、confluence、kafak、rocketmq工具安装讲解
7、 讲解运维监控工具Open-Falcon,如何保证及时通知运维及开发人员服务器的问题,保证服务器以及服务正常运行
8、 讲解docker系列课程,结合docker进行部署
架构讲解设计的目标:
1、 低成本:任何公司存在的价值都是为了获取商业利益。在可能的情况下,希望一切都是低成本的。
2、 高性能:网站性能是客观的指标,可以具体体现到响应时间、吞吐量等技术指标。系统的响应延迟,指系统完成某一功能需要使用的时间;系统的吞吐量,指系统在某一时间可以处理的数据总量,通常可以用系统每秒处理的总的数据量来衡量;系统的并发能力,指系统可以同时完成某一功能的能力,通常也用 QPS(query per second)来衡量。
3、 高可用:系统的可用性(availability)指系统在面对各种异常时可以正确提供服务的能力。系统的可用性可
以用系统停服务的时间与正常服务的时间的比例来衡量,也可以用某功能的失败次数与成功次数的比例来衡量。
4、 易伸缩:注重线性扩展,是否可以容易通过加入机器来处理不断上升的用户访问压力。系统的伸缩性(scalability)指分布式系统通过扩展集群机器规模提高系统性能(吞吐、延迟、并发)、存储容量、计算能力的特性。
5、 高安全:现在商业环境中,经常出现被网站被拖库,用户账户被盗等现象。网站的安全性不言而喻。
里边好多东西自己只是听说过,但是没有用过,下边开始记录一下学习的东西。
来源:oschina
链接:https://my.oschina.net/u/4257474/blog/4216085