新闻中心
您现在的位置: 易呼网络技术有限公司 >> 文章中心 >> APP技术咨询 >> 正文

什么是“大后端”

更新时间:2019/12/5 13:39:53 点击次数:

1前后端的分离


随着人们对浏览器页面的视觉和交互要求越来越高,“模板集”方法逐渐不能满足要求。这个所谓的表示层正在慢慢迁移到浏览器。大量的框架,如角形和伸展JS正在上升,前端和后端是分开的!


后端工程师只负责提供接口和数据,专注于业务逻辑的实现。前端工程师在获得数据后在浏览器中显示数据,并履行各自的职责。


像Java这样的语言非常适合于实现复杂的业务逻辑,尤其是一些管理信息系统、行业软件,如税务、电力、烟草、金融、通信等。 所以剥离表示层,只做后端挺合适的。

 
然而,如果只是实现业务逻辑,那么后端就不需要这么多技术。只要处理宋承宪/SSM。

 
2后端技术


互联网特别是移动互联网兴起后,大量用户蜂拥而至。由一台机器部署的小型战争包肯定无法支持,必须分发。 


原来的一只雄猫必须变成一个雄猫集群。在它前面,设置了一个网络服务器来平衡请求的负载。不仅如此,还必须考虑状态问题和会话一致性。


生意变得越来越复杂。我们必须将一些业务放在一台机器(或集群)上,将另一部分业务放在另一台机器(或集群)上。尽管系统的计算能力和处理能力大大增强,但这些系统之间的通信却变得令人头痛。消息队列(MQ)和RPC框架(如Dubbo)应运而生。为了提高通信效率,各种序列化工具(如Protobuf)也纷纷推出。


单个数据库也撑不住了,那就做数据库的读写分离,如果还不行,就做分库和分表,把原有的数据库垂直地切一切,或者水平地切一切, 但不管怎么切,都会让应用程序的访问非常麻烦,因为数据要跨库做Join/排序,还需要事务,为了解决这个问题,又有各种各样“数据访问中间件”的工具和产品诞生。


为了最大限度地提高性能,缓存绝对是不可或缺的。您可以本地缓存(例如Ehcache),也可以分布式缓存(例如Redis)。如何进行数据碎片化、数据迁移和无效传输是另一个超大的课题。


互联网用户喜欢上传图片和文件,必须构建一个分布式文件系统(如FastDFS),这需要高可用性和可靠性。


数据量大了,搜索的需求就自然而然地浮出水面,你得弄一个支持全文索引的搜索引擎(如Elasticsearch ,Solr)出来。


随着林子达年龄的增长,他拥有了一切。他必须考虑安全性、数据加密/解密、签名和证书,以防止SQL注入、XSS/CSRF和其他攻击。


3“大后端”


如上所述,许多系统仍然是分布式的。每次他们上网,操作和维护的同学都说:协调这么多系统让我筋疲力尽。


我们必须做好持续集成的工作,自动部署并自动测试它(事实上,前端是相同的)。后来,一个革命性的技术出现了,它可以保持开发、测试和生成环境的一致性。系统最初只在环境中部署代码(例如NG Nix、JVM、Tomcat、MySQL等)。),现在它将代码和环境打包在一起,同时简化了操作和维护工作。


公司自己购买的服务器相对昂贵,维护也很麻烦,而且很难灵活发展。那么,让我们构建一些虚拟服务器。硬盘和内存可以动态扩展(无论如何都是虚拟的)。当有大量流量时,使用更多,当没有流量时释放一点。按需分配非常方便。这是云计算的一个场景。
随着时间的推移,各个公司和系统收集的数据越来越多,都堆成一座大山了,难道就放在那里白白地浪费硬盘空间吗?


有些人惊讶地发现,嘿,让我们用这些数据做一些事情,比如分析数据,预测用户的购买/阅读/浏览习惯,并向他推荐一些东西。


然而,有如此多的数据,使用传统方法产生结果需要几天甚至几个月的时间。当黄花菜冷的时候,有必要使用分布式技术来找到一种方法来将计算分配给各种计算机,然后检索计算结果。当时代创造英雄时,Hadoop及其生态系统会随着时代的需要而出现。


我以前听说过大前端的概念。我把移动端和网络端都归因于“前端”。在这里,我创建了单词“大后端”smiley_13.png,它将用户不能直接联系的东西归属于服务器。

  • 上一篇文章:
  •  
  • 下一篇文章: 没有了