曾宪杰---大型网站系统与java中间件实践,笔记
2应用分布式
1,负载均衡
2,解决集群后的session问题。禁用cookie。
3,拆分应用:服务化SOA,使用消息中间件。
数据读写分布式
1,主从读写库
2,搜索引擎是个读库。
3,加速数据读取--缓存。
4,数据过大:业务垂直拆分,单表水平拆分。拆分后的路由问题,分页查询。
4,服务框架的设计与实现。
集中式-->分布式
服务的调用时的路由选择(众多服务ip中选哪个。方法提供版本号)。
服务化后的jar爆炸,及jar版本冲突。自定义classLoader,把服务框架自身用的类,和应用用的类控制在user-DefinedClassLoader级别。实现隔离。tomcat,OSGI的bundle。
osgi应用及实践。
服务框架需要优先启动。
5,数据访问层
分布式后的事务方案:
1,分布式事务XA,两段提交,太重。
2,最终一致原则。
一致性理论:CAP
consistency 数据一致性,所有节点在同一时间读到的数据一样。
Availability 数据可用性,无论成功或失败,每个请求都能收到反馈。
Partition-Tolerance 分区容忍性,部分出问题,系统仍能继续工作。
分布式中,不能同时满足CAP,
CA:单机数据库的选择。
AP:NoSQL
分布式中一般会选择AP,然后尽量满足C-最终一致。
访问层方案:
1,代理/装饰JDBC,类似DBCP连接池的方式。设计模式体会?
2,封装ORM层
一致性hash?????????
6,消息中间件
解耦:登陆后立刻返回。短信,安全等交给中间件处理。
发送消息的一致性?
JMS Queue模型,公用一个队列,一个消息只会被收到一次。
JMS Topic模型,一个消息被收到N次。
消息订阅者方式。
消息可靠性:消息存储。
核心问题:
数据计算,
数据存储(读写),倒排索引。
相关推荐
基于java的贝儿米幼儿教育管理系统答辩PPT.pptx
本压缩包资源说明,你现在往下拉可以看到压缩包内容目录 我是批量上传的基于SpringBoot+Vue的项目,所以描述都一样;有源码有数据库脚本,系统都是测试过可运行的,看文件名即可区分项目~ |Java|SpringBoot|Vue|前后端分离| 开发语言:Java 框架:SpringBoot,Vue JDK版本:JDK1.8 数据库:MySQL 5.7+(推荐5.7,8.0也可以) 数据库工具:Navicat 开发软件: idea/eclipse(推荐idea) Maven包:Maven3.3.9+ 系统环境:Windows/Mac
基于java的消防物资存储系统答辩PPT.pptx
项目经过测试均可完美运行! 环境说明: 开发语言:java jdk:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse
项目经过测试均可完美运行! 环境说明: 开发语言:java jdk:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse
TA_lib库(whl轮子),直接pip install安装即可,下载即用,非常方便,各个python版本对应的都有。 使用方法: 1、下载下来解压; 2、确保有python环境,命令行进入终端,cd到whl存放的目录,直接输入pip install TA_lib-xxxx.whl就可以安装,等待安装成功,即可使用! 优点:无需C++环境编译,下载即用,方便
使用软件自带的basic脚本编辑制作的脚本 低版本软件无法输出Excel报告,可以通过脚本方式实现这一功能
基于java的就业信息管理系统答辩PPT.pptx
25法理学背诵逻辑.apk.1g
基于java的大学生校园兼职系统答辩PPT.pptx
做到代码,和分析的源数据
本压缩包资源说明,你现在往下拉可以看到压缩包内容目录 我是批量上传的基于SpringBoot+Vue的项目,所以描述都一样;有源码有数据库脚本,系统都是测试过可运行的,看文件名即可区分项目~ |Java|SpringBoot|Vue|前后端分离| 开发语言:Java 框架:SpringBoot,Vue JDK版本:JDK1.8 数据库:MySQL 5.7+(推荐5.7,8.0也可以) 数据库工具:Navicat 开发软件: idea/eclipse(推荐idea) Maven包:Maven3.3.9+ 系统环境:Windows/Mac
项目经过测试均可完美运行! 环境说明: 开发语言:java jdk:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse
适用于ensp已经入门人群的学习,有一定难度
基于java的数码论坛系统设计与实现答辩PPT.pptx
tornado-6.4.1-cp38-abi3-macosx_10_9_universal2.whl
基于java的医院信管系统答辩PPT.pptx
项目经过测试均可完美运行! 环境说明: 开发语言:java jdk:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse
tornado-4.2.tar.gz
链表 合并两个链表,链表基础操作