大型网站的java架构技巧是什么

本篇内容主要讲解“大型网站的java架构技巧是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“大型网站的java架构技巧是什么”吧!

成都创新互联,是成都地区的互联网解决方案提供商,用心服务为企业提供网站建设、重庆APP软件开发微信小程序开发、系统按需规划网站和微信代运营服务。经过数十多年的沉淀与积累,沉淀的是技术和服务,让客户少走弯路,踏实做事,诚实做人,用情服务,致力做一个负责任、受尊敬的企业。对客户负责,就是对自己负责,对企业负责。

一、写在前面

    “架构”一词,是一个非常大命题,通常很难用语言来描述这个东西,我们先不谈“架构“这个词,我们先来看一些现象。

    1、对于真正做实事的开发者来说,通常会有类似的感觉,架构师通常就画画ppt,代码也写不了,画的各种ppt也就看看,也解不了什么实际问题。

    2、每次开会,就会大聊各种概念,又无法落地。

    3、什么技术都能夸夸奇谈,你问细节,怎么实现,他不知道,总是表示自己不关心细节。

    4、总是以高屋建瓴的姿态来标榜自己。

    诸如上面的现象其实非常多,我不过多的评价,只能说他们并非热爱软件这个行业,至少内心是排斥这个行业的。但我觉得,一个朴素的技术人,应该是有追求的,把”传到授业解惑“当成一种责任,剖开技术的华丽包装,还原技术想告诉人们的真相。

    注:上面并非想批判什么。

二、原由

    回顾这些年的技术生涯,感触还是非常深的,从Java web开发,到大数据,再到机器学习,再到深度学习这一路走来,都源于我想要揭示技术的真相。也慢慢想通一些事情,程序本质上所做的事情可以这样描述,有一个黑箱子,你给它一个input,它给一个output。那么得到这个”黑箱子“,有两种办法,硬编码和机器学习,那么这样便可以描述所有技术的真相了。程序和机器学习,本质上做的事情并没有什么不同,只是得到这个黑箱子的办法不同而已,请看下图。ps:大数据技术到底解了什么,我从”冷眼”的视角,也总结了一些话,后面再写成文章。

    大型网站的java架构技巧是什么

    上面有点扯远了,最近又重新翻了一遍李智慧的《大型网站技术架构》一书,这是一本非常简洁而充满智慧的书。总结一个大型网站所具备的核心要素。本片博客将结合这本书,写一些东西。

三、架构

    再说架构之前,我们先来说说一个B/S结构想解的核心问题是什么?它想解的核心问题是,数据任何时候高速、准确的读或者写的问题。围绕着这个问题,我们得对设计做一些考量,这种设计,它应该叫架构。架构是最高层次的一种规划,一旦规划好,便难以改变,就像人生的规划一样,走过的路,不能重新走。

    1、核心要求

    高性能:任何时候操作网站,都能马上响应

    高可用:任何时候都是可以访问的

    扩展性:可以随意扩展业务,并不对原业务造成影响

    伸缩性:可以任意横向、或者纵向扩展服务器,当然也能随意缩减

    安全性:抵御攻击

    2、架构模式

    围绕着上述要求,我们有哪些设计思想是可以用的?

    分层:分层这种思想其实是计算机里非常朴素的一种设计思想,例如网络7层模型,5层模型等,当然对于web系统而言,视图层、服务层、数据层,这是最基础的分层。

    分割:将业务进行合理的切分

    分布式:不同的业务,分而治之

    集群:单一应用横向扩展

    缓存:前端、后端缓存,多级缓存等等

    异步:多阶段拆分业务,消息驱动

    冗余:web节点冗余、数据冗余,异地容灾等等

    3、高性能

    衡量指标:响应时间、并发数、吞吐量(TPS、QPS、HPS)

    web前端优化:减少http请求、使用浏览器缓存、压缩、减少cookie传输、CDN加速

    服务端优化:分布式缓存、异步、集群、代码优化(多线程、资源复用、减少fullgc)

    存储性能:机械硬盘、固态硬盘,索引技术(B+树、LSM)

    4、高可用

    高可用应用:无状态服务集群、有状态的session服务集群

    高可用服务:集群(分级管理、超时设置、异步调用、服务降级、幂等设计)

    高可用数据:CAP理论、数据一致性、数据备份(冷热备份)、失效转移

    5、伸缩性

    伸缩性设计:不同功能进行物理分离、单一功能集群

    负载均衡

    分布式缓存

    数据伸缩:分库分表、主从备份

    6、扩展性

    事件驱动:通过消息队列解耦合,用事件驱动的思想扩展

    服务化:用interface的手段解耦合,横向扩展

    7、安全性

    xss、注入攻击、CSRF

    当然,有了deeplearning,可以用Gan的思想,找到攻击流量的边界。

到此,相信大家对“大型网站的java架构技巧是什么”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

网站名称:大型网站的java架构技巧是什么
本文链接:https://www.cdcxhl.com/article46/ijghhg.html

成都网站建设公司_创新互联,为您提供动态网站品牌网站建设网站制作品牌网站制作小程序开发网站维护

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设