分布式系统架构简单的说是运行在多个处理器上的软件构架设计。
1、分布式系统是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。
2、网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。
3、架构,又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。架构描述语言(ADL)用于描述软件的体系架构。
分布式有逻辑层和数据层这一分。
而且架构也分前端(处理客户端连接和session管理)后端(负责数据, 业务)还有lbs服务器。
一般客户端访问lbs服务器, 会得到一个路由(前段服务器的ip),然后连接到前端上。 前端会生成session以及连接, 用户通过前端的接口来访问后端服务器来完成数据交互,用到的技术有redis(数据共享以及缓存) mq(解耦合以及服务器之前的消息发送) rpc(服务器之间的数据实时同步) sysstat(子服务器状态监控)nginx(负载均衡)。
有一些“牛人”说别人在网上看些教程,在公司多做几个网页,会用HTML和CSS切图并能利用插件实现一些类似轮播的效果,就认为自己是一名不错的前端工程师了,这种带有一些鄙视的语气!
我就请问有哪个牛人能跨越这个阶段直做页面开发的?对于前端工程师而言,HTML、CSS、JS确实是最为基础、但也是最为重要的知识体系,前端不可或缺的内容!
我认为前端的岗位职责主要包括页面制作和交互实现两部分。作为前端工程师,关注点是什么呢?首先就是用户体验,用户访问我的网站爽不爽,这些因素会决定你的页面是单页面还是多页面,然后把不必要的代码干掉,如何让加载最少的内容让用户最快看到效果;80%前端工程师基本都围绕这几个点在做事情!
写到最后你会发现为什么前端没有分布式或者单体这种架构模式?数据库也不用选,语言基本上只有 JavaScript(最多算上个TS),框架基本上三个就到头了!而后端就从选型和复杂度而言就非常多,需要架构模式选型、数据库选型、语言选型、框架选型等,从而保证整个后端体系的高可用、高性能、可拓展、安全性等,利用分布式架构来冗余系统消除单点的故障,从而提高整个系统的可用性。
领取专属 10元无门槛券
私享最新 技术干货