1、java开发大型网站(流量大,数据大(上万G数据))用什么架构?
分着说,前后台分开。
1、前端使用轻便的方式,servlet/jsp/jstl,使用jdbc或者能控制sql的ORM,不过坦白说用哪个都没有SQL快,虽然hibernate也能控制sql生成,不会用。
2、前台要分析好,哪些是实时数据,哪些不是,对于那些不适实效很高的,用好缓存。有些东西可以采用生成静态页面的方式。
3、后台随便了,SSH,因为后台操作不是很频繁。但是如果有导数据,10万级导入,还是用jdbc。
4、如果是网站,不是什么重要的业务系统,数据库设计以快为主,表里面多冗余一些外键字段,让查询最简化。
这个软件方面,还有硬件架构,那更复杂,这里就不说了,毕竟不专业。
2、大型网站架构模式有哪些
1.分布式
对于大型网站,分层和分割的一个主要目的是为了切分后的模块便于分布式部署,即将不同模块部署在不同的服务器上,通过远程调用协同工作。分布式意味着可以使用更多的计算机完成同样的功能,计算机越多,CPU、内存、存储资源也就越多,能够处理的并发访问和数据量就越大,进而能够为更多的用户提供服务。
2.分层
分层是企业应用系统中最常见的一种架构模式,将系统在横向维度上切分成几个部分,每个部分负责一部分相对比较单一的职责,然后通过上层对下层的依赖和调用组成一个完整的系统。
分层结构在计算机世界中无处不在,网络的7层通信协议是一种分层结构;计算机硬件、操作系统、应用软件也可以看作是一种分层结构。在大型网站架构中也采用分层结构,将网站软件系统分为应用层、服务层、数据层。
3.分割
如果说分层是将软件在横向方面进行切分,那么分割就是在纵向方面对软件进行切分。
网站越大,功能越复杂,服务和数据处理的种类也越多,将这些不同的功能和服务分割开来,包装成高内聚低耦合的模块单元,一方面有助于软件的开发和维护;另一方面,便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力。
4.集群
使用分布式虽然已经将分层和分割后的模块独立部署,但是对于用户访问集中的模块(比如网站的首页),还需要将独立部署的服务器集群化,即多台服务器部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务。
5.缓存
缓存就是将数据存放在距离计算最近的位置以加快处理速度。缓存是改善软件性能的第一手段,现代CPU越来越快的一个重要因素就是使用了更多的缓存,在复杂的软件设计中,缓存几乎无处不在。大型网站架构设计在很多方面都使用了缓存设计。
6.异步
计算机软件发展的一个重要目标和驱动力是降低软件耦合性。事物之间直接关系越少,就越少被彼此影响,越可以独立发展。大型网站架构中,系统解耦合的手段除了前面提到的分层、分割、分布等,还有一个重要手段是异步,业务之间的消息传递不是同步调用,而是将一个业务操作分成多个阶段,每个阶段之间通过共享数据的方式异步执行进行协作。
3、JAVA高吞吐高并发后端架构设计经验是什么意思
有些网站并发量比较高,例如:12306,到了春节的时候,访问量就非常高回了。以前不是经常卡住、答崩溃吗?
就是因为架构设计的不行。去年好多了。
高吞吐、高并发指的是一种种业务场景,访问人数很多,同一时刻点击也很多。
类似的还有双十一,双12。
高峰期的时候 涉及大量的读写操作,读取网页资源、数据,写入订单等等。
小型网站可以通过增加服务器的方法解决,分离应用程序和数据库,放在两台服务器上。
大型的网站涉及的技术就更多了:缓存技术、读写分离、分布式部署服务器、业务拆分、数据库优化等等。
4、如何评价一个大型网站系统架构设计的好坏?
说说我的看法,对不对的供参考吧!
首先,网站也好、其它信息化系统也好,其系统架构设计都不是拍脑袋来的,都是依据一个出发点设计而来,究其所以,就是需求。而这个需求又是从最初的建设初衷来的,也就是说,按说最后做出来的东西应该满足建设初衷。
所以,简言之,有什么样的需求就有什么样的架构设计。因此,要评价架构设计的好坏,就拿需求来衡量。能满足需求的架构设计,就是对的。不能满足,或者不能全面满足的,如果没有项目建设上的延期认可或者同意搁置的决定,就是不应该的。
注意:我说的需求,并不仅是针对功能范畴的;也包括性能、可用性、安全等方面。所以说需求是全面的内容。
5、大型java web系统架构该如何设计
其实操作起来不难。
”健壮性“:用现成的流行的框架。大家实践检验过的一定很robust。
”拓展性“:就是说你要对你用的框架很熟,要明白原理,甚至可以自己修改,实现功能。这个要花时间下功夫。
“易维护”:写好注释,做好文档。平时稍微用点心就可以做好。
“版本控制”:这有现成的工具,比如git。
6、从0开始逐步边开发边运作一个大型网站,该采用怎样的技术架构(或者技术路线)?
这样的跨度肯定会经历推倒重来的过程,否则一开始就设计一个能扩展到很大规模的网站架构会在初期造成很大的资金和人力负担。让开发的负责人给你计算了开发成本,维护成本和开发出来的效果以后你再决定当前阶段采用哪一种。显然一分钱一分货。
越简单的时候PHP越有优势,越复杂JAVA越有优势,JSP只是JAVA WEB开发中的一项技术,到最后都不一定需要使用。为了不浪费人手,如果你确定将来要往大网站发展一开始就该采用JAVA或.NET,这样在重新开发时至少能充分利用之前的人员经验。
该采用怎样的技术架构不是三两句话能说清楚的,具体问题具体分析。
再简单也不建议使用JSP+SERVLET+JAVABEAN
SSH之类的架构本来就是为了简化开发工作量,提高代码质量和可维护性而生的。除非追求极致变态的性能的人才会去用servlet,而且实际体验可能根本几乎没差别,只要不把SSH用得太烂。架构复杂了,也不过是在这些主流技术上改改,封装封装,自然是使用同一语言比PHP转JAVA容易太多了。
7、用Java做一个大流量,高并发的网站应该怎么样进行底层构架
架构是为了解决糸统中具有共性的问题而进行定义了减少重复工作量,且易于维护和扩展的技术准则和规范,它产出物和体现为文档和基础代码框架等。
因此选择那些框架只是架构的一部分,通常是选择自己善长的,以及对新技术的更新比较及时的;所以现在的Java框架最多为SpringMVC。
所以你提出的大并发是一个问题,但先确定它是不是所有模块都需要解决这个问题。
而大数据又是另一个问题,同样每个模块查询或者计算都是大数据吗。
综上所述将问题定位并分解,并发问题,要考虑带宽还是局域网,一个应用服务器最大能支持多少请求连接,你需要多少个,每个应用服务器是独立的模块呢还是齐群。齐群还要注意的登录一次还是多次,也就是SSO了,是否注意内存共享,如sessionId,是否考虑内存相互同步还是通过分布式的解决等糸列问题。还有一个数据库有多少连接可以用等跟应用服务器同理。
那么大数据呢,要考虑的关键为两个,是计算还是查询,是实时的业务要求还是可以延时的,查询可以是缓存,分表分库,分区,索引等方式。缓存的时候要注意你考虑的带宽是一个lDC还是多个IDC,数据间怎么同歩是个分布式问题,如果大数据计算问题是否考虑一下云计算解决方案等
因此你所说的怎么架构,如何选框架,这是两个问题,不是解决你问的大数据大并发,反而是架构工作中的一个尘灰而已。你也知道架构最大的是那里了吧一一分析到分割。
架构是很难的工作,作不好,别相信用硬件能解决问题。就像使用微软的 盗版一样,出了问题可能是用N的成本来解决,N可能是几万,也可能是几万的N次方。
8、大型网站架构该怎么优化设计
你得把你的网站拿出来看了才知道怎么优化改进。并不是说每个网站的优化思路都一样。比如,你优化结构之前你得考虑你的长尾关键词要怎么扩展,长尾词是不是有规律可循。如果有规律,你可以直接利用程序生成标题,生成内容。要根据你的设计思路去设计网站结构。要是每个网站优化思路都一样,那为什么不直接程式化,还拿优化运营来做什么?自动化多好。但是,这是不现实的。所以,你的提问没人能帮得到你。
9、如何评价一个大型网站系统架构设计的好坏
评价一个大型网站系统架构设计的好坏
说说我的看法,对不对的供参考吧!
首先,网站也好、其它信息化系统也好,其系统架构设计都不是拍脑袋来的,都是依据一个出发点设计而来,究其所以,就是需求。而这个需求又是从最初的建设初衷来的,也就是说,按说最后做出来的东西应该满足建设初衷。
所以,简言之,有什么样的需求就有什么样的架构设计。因此,要评价架构设计的好坏,就拿需求来衡量。能满足需求的架构设计,就是对的。不能满足,或者不能全面满足的,如果没有项目建设上的延期认可或者同意搁置的决定,就是不应该的。
注意:我说的需求,并不仅是针对功能范畴的;也包括性能、可用性、安全等方面。所以说需求是全面的内容。
小刚SEO为你解答。