使用Java开发高性能网站(二)

news/2024/5/9 16:50:30/文章来源:https://blog.csdn.net/yalear2012/article/details/53442934
数据存取

数据库服务器的优化和数据的存取,什么类型的数据放在什么地方更好是值得去思考的问题,将来的存储很可能是混用的,Cache,NOSQL,DFS,DataBase在一个系统上都会有,生活的餐具和平日里穿的衣服都需要摆放在家里,但是不会用同一类型的家具存放,貌似没有哪个人把餐具和衣服放在同一个柜子里面的,这就像是系统中不同类型的数据一样,对不同的数据需要使用核实的存储环境。文件和图片的存储,首先按照访问的热度分类,或者按照文件的大小。强关系类型并且需要事物支持的采用传统的数据库,弱关系不需要事物支持的可以考虑NOSQL,海量文件存储可以考虑一下支持网络存储的DFS,,至于缓存要看你单个数据存储的大小和读写的比例。

还有一点值得注意的就是数据读写分离,无论在DataBase还是NOSQL的环境中大部分都是读大于写,因此在设计时还需考虑不仅仅需要让数据的读分散在多台机器上,还需要考虑多台机器之间的数据一致性,Mysql的一主多从,再加上MySql-Proxy或者借用JDBC中的一些参数(roundRobinLoadBalance、failOverReadOnly、autoReconnectForPools、secondsBeforeRetryMaster)对后续应用程序开发,可以将读和写分离,将大量读的压力分散在多台机器上,并且还保证了数据的一致性。


缓存
在宏观上看缓存一般分为2种:本地缓存和分布式缓存
1.本地缓存,对于Java的本地缓存而言就是将数据放入静态(static)的数据结合中,然后需要用的时候就从静态数据结合中拿出来,对于高并发的环境建议用ConcurrentHashMap或者CopyOnWriteArrayList作为本地缓存。缓存的使用更具体点来说就是对系统内存的使用,使用多少内存的资源需要有一个适当的比例,如果超过适当的使用存储访问,将会适得其反,导致整个系统运行效率低下。

2.分布式缓存,一般用于分布式的环境,将每台机器上的缓存进行集中化的存储,并且不仅仅用于缓存的使用的范畴,还可以作为分布式系统数据同步/传输的一种手段,一般被使用最多的 就是Memcached和Redis。

数据存储在不同的介质上读/写得到的效率是不同的,在系统中如何善用缓存,让你的数据更靠近cpu,下面有一张图你需要永远牢记在心里,来自Google的技术大牛Jeff Dean(Ref)的杰作,如图所示:
cache-speed

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_901406.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html/css 个人网站实例(一)

显示效果 HTML代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>alalasheep的个人网站</titl…

兼容性网站导航主菜单--Head

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml2/DTD/xhtml1-strict.dtd"> <html xmlns"http://www.w3.org/1999/xhtml" xml:lang"en"> <head> <title>兼容性超强的…

18 个锻炼编程技能的网站

编程几乎已经成为了人类所知每个行业的必要组成部分&#xff0c;它帮助组织和维护大型系统的方式是无可比拟的&#xff0c;所以越来越多的人开始了他们的编程之旅。 要学习编程&#xff0c;你可以通过交互式平台或者书本&#xff0c;随便一种你觉得最适合和容易的学习方式。但是…

Chrome“无法添加来自此网站的应用”的解决办法

晚上在Win8系统下在给Chrome添加插件时突然提示“无法添加来自此网站的应用、扩展程序和应用脚本”&#xff0c;这果断让我很诧异~之前用的都是Win7系统的Chrome 24.0&#xff0c;添加插件的方法也很简单&#xff0c;就是直接将下载好的Chrome应用*.crx文件拖到扩展程序界面&am…

监控网站与接口宕机,并推送 App 消息提醒的程序

监控网站与接口宕机&#xff0c;并推送 App 消息提醒的程序 咕咕监控&#xff0c;专注于网站、数据接口与设备在线状态监控&#xff0c;统一管理您所有的网站、API 与设备&#xff0c;10ms 级别的监控频率&#xff0c;宕机时第一时间推送 App 消息、微信消息、短信、电话语音进…

我的SEO之路2013年3月5日最早的一个站突破

只看图不说话。 送大家一句话 坚持才是SEO的神

我的SEO之路2013年3月18日关于个人博客关键字排名30

这两天更新博客有点频繁哈。 今天又来记录一下自己15号提到的博客。 说之前先给大家看个图 这是今天刚刚查询的。 做百度SEO注重的是规律&#xff0c;更新频率&#xff0c;现在我在做个测试等测试结果出来后 会和大家一起分享一下的。 我的站是2月26日建立的&#xff0c;今…

手把手教你如何创建 ASP.NET Dynamic Data 实体网站

从四月份开始接触web开发&#xff0c;至今已经有一段时间了。之前一直忙于在做项目&#xff0c;每天加班加点&#xff0c;包括周末。现在项目总算上线了&#xff0c;有了点喘息的机会&#xff0c;回过头看&#xff0c;其实我对后端的东西懂得其实还很少&#xff0c;于是决定自己…

浏览器访问网站的流程

浏览器访问网站的过程 浏览器访问百度的过程是怎样的 &#xff1f;自我理解如下图 访问流程 A电脑首先发送DNS数据&#xff0c;进行解析www.baidu.com对应的IP地址B收到了来自A电脑的DNS请求&#xff0c;解析出www.baidu.com对应的IP地址返回给A电脑A电脑就会向这个地址进行TC…

KNN实战——约会网站配对效果判定

一 约会网站配对效果判定 上一小结学习了简单的k-近邻算法的实现方法&#xff0c;但是这并不是完整的k-近邻算法流程&#xff0c;k-近邻算法的一般流程&#xff1a; 收集数据&#xff1a;可以使用爬虫进行数据的收集&#xff0c;也可以使用第三方提供的免费或收费的数据。一般…

PHp网站建设,期末大作业-海贼王主题【包含前后台】

欢迎前往我的github上下载 连接如下 https://github.com/fighting-dog/phpstudy-haizeiwanghttps://github.com/fighting-dog/phpstudy-haizeiwang

做网站,虚拟主机与云服务器之间,我们应该如何选择?

虚拟主机已经有了一段时间的历史&#xff0c;近几年随着其技术的不断成熟&#xff0c;以及其低廉的价格&#xff0c;成为众多站长的首选对象。但近两年云计算的出现&#xff0c;衍生出云服务器这个产物。这时&#xff0c;很多站长便对虚拟主机与云服务器应该如何选择感到困扰&a…

SEO案例:锚文本、关键字、nofollow、Web标准化(一)(转)

前面谈到了做SEO需要注意的好几个因素。但是因为工作上的原因&#xff0c;好多因素没有讲透的。&#xff08;不过其实有些东西我给我们团队的人都没有讲过的。&#xff09;我看到一些人的回复&#xff0c;对有些SEO因素有误解。 还有&#xff0c;我看到很多人都没怎么关注“Web…

OpenSocial:构建跨多个网站的社交应用程序

OpenSocial为构建跨多个网站的社交应用程序提供了一组通用 API。开发人员可以使用标准 JavaScript. 和 HTML 创建应用程序&#xff0c;用以访问社交网络里的朋友并更新对应的Feeds。这个论坛为各位OpenSocial开发人员提供了一个平台&#xff0c;大家可以在上面提问&#xff0c;…

Linux系统部署网站

Linux系统部署网站 准备环境 Linux服务器域名&#xff08;非必须&#xff09;安装并启动MySQL数据库服务安装Node.js环境 部署网站 先找一个我参与的前后端分离项目 学生宿舍管理系统 在服务器的MySQL里创建一个dormitories数据库&#xff0c;把sql目录里的dormitories.s…

考研——考研有用的“宝贝”(软件,公众号,网站,励志电影,音乐)

软件 考研学习类&#xff1a; 哔哩哔哩-B站&#xff08;必下&#xff09; 看学习视频建议在电脑或平板上&#xff0c;不会有人考研不用B站吧&#xff0c;不会吧&#xff0c;不会吧 中国大学慕课MOOC 中国教育惠民软件&#xff0c;很多专业课都可以搜到&#xff0c;关键都是…

.NET4.0下网站应用程序用UrlRewriter.dll重写无后缀路径 (在IIS7.5中的配置方法)

接上一篇 .NET4.0下网站应用程序用UrlRewriter.dll重写无后缀路径 在IIS中新建网站&#xff08;端口号8111&#xff09; 直接运行http://localhost:8111/ 错误截图 配置方法&#xff1a; 二、添加通配符脚本映射&#xff0c;选择&#xff1a;C:\Windows\Microsoft.NET\Framewo…

Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站

目录 配置环境了解HTTPS配置CA证书服务器新建示例网站并发布在IIS新建自签名证书并配置HTTPS故障排除 其它机器无法通过访问 配置环境 Windows版本&#xff1a;Windows Server 2008 R2 Enterprise Service Pack 1 系统类型&#xff1a; 64 位操作系统 了解HTTPS 为什么需…

Nodejs学习笔记(六)--- Node.js + Express 构建网站预备知识

目录 前言新建express项目并自定义路由规则如何提取页面中的公共部分?如何提交表单并接收参数? GET 方式POST 方式如何字符串加密?如何使用session?如何使用cookies?如何清除session和cookies?写在之后 前言 前面经过五篇Node.js的学习&#xff0c;基本可以开始动手构建一…