
大型网站技术和java中间件
阳光的王小草
这个作者很懒,什么都没留下…
展开
-
0.1 大型网站技术和java中间件 - 大纲
原创 2019-10-02 18:25:11 · 133 阅读 · 0 评论 -
0.2 大型网站技术和java中间件-大纲-详细-二级
导图url:https://www.edrawsoft.cn/viewer/public/s/3bbd0045808104原创 2019-10-02 18:27:05 · 118 阅读 · 0 评论 -
0.3 大型网站技术和java中间件-大纲-详细-三级
导图url:https://www.edrawsoft.cn/viewer/public/s/3bbd0045808104原创 2019-10-02 18:31:07 · 99 阅读 · 0 评论 -
1.大型网站技术和java中间件-分布式系统介绍
1.大型网站技术和java中间件-分布式系统介绍原创 2019-10-02 18:33:20 · 147 阅读 · 0 评论 -
1.1 大型网站技术和java中间件-分布式系统介绍-初识分布式系统
1.1.1 分布式系统的定义1.一定是由多借节点组成2.节点不是孤立的,是相互连通的3.节点上部署了我们的组件,相互之间操作会有协调1.1.2 分布式系统的意义1.升级单机处理能力的性价比越来越低2.单机处理能力存在瓶颈单个处理器有自己的性能瓶颈,即使愿意花更多的钱也买不到3.出于稳定性和可用性考虑 分布式系统带来稳定性,可用性提...原创 2019-10-02 18:39:49 · 124 阅读 · 0 评论 -
1.2 大型网站技术和java中间件-分布式系统介绍-分布式系统的基础知识
1.2 大型网站技术和java中间件-分布式系统介绍-分布式系统的基础知识原创 2019-10-02 18:40:51 · 142 阅读 · 0 评论 -
1.2.1 大型网站技术和java中间件-分布式系统的基础知识-组成计算机系统的5要素
1.2.1 组成计算机系统的5要素包括1.输入,输出设备2.运算器3.控制器4.存储器(内存和外存):断电是丢失内存,外存保存原创 2019-10-02 18:44:06 · 272 阅读 · 0 评论 -
1.2.2 大型网站技术和java中间件-分布式系统的基础知识-线程和进程的执行模式
1.2.2 大型网站技术和java中间件-分布式系统的基础知识-线程和进程的执行模式1.单进程内的多线程难度远高于一个单线程。2.多线程中需要处理线程间的通信,做好并发控制,做好线程协调工作1.2.2.1阿姆达定律P指的是程序可并行部分在单核上的执行时间占比,N表示cup处理器个数(总核心数),S(N)指N个处理器相对在单核处理的速度提升比。N...原创 2019-10-02 18:50:58 · 147 阅读 · 0 评论 -
1.2.3 大型网站技术和java中间件-分布式系统的基础知识-网络通信基础知识
在分布式系统,组件发布在网络的多个节点中。通过消息的传递来进行动作的协调;因此,网络通信在分布式系统中非常重要1.2.3.1 OSI与TCP/IP网络模型下图为OSI与TCP/IP网络模型的对应1.2.3.2 网络IO的实现实践中接触的比较多的网络模型。当我们用Socket进行网络通信开发时,常用的BIO,NIO,AIO1.BIO(B...原创 2019-10-03 10:52:12 · 133 阅读 · 0 评论 -
1.2.4 大型网站技术和java中间件-分布式系统的基础知识-应用从单机拓展到分布式
1.2.4 大型网站技术和java中间件-分布式系统的基础知识-应用从单机拓展到分布式1.2.4.1 输入设备的变化分布式系统由通过网络连接的多个节点组成 -> 分布式输入设备: 1.接收其他节点传来的信息 2.传统意义上的人机交互的输入设备1.2.4.2 输出设备的变化分布式系统由通过网络连接的多个节点组成 ->...原创 2019-10-03 10:51:54 · 209 阅读 · 0 评论 -
1.2.4.4 大型网站技术和java中间件-分布式系统的基础知识-应用从单机拓展到分布式 -运算器变化
1.2.4.4 大型网站技术和java中间件-分布式系统的基础知识-应用从单机拓展到分布式 -运算器变化1.分布式系统中,运算器由多个节点来组成,分布式系统中运用多个节点的计算能力来协调完成整体的操作单台服务器的网站多台服务器的网站(多台服务器,用户应该访问哪台服务器?)1.使用DNS服务器??(小型企业好像没有用处)1.1 通过DNS服务器进行调度和控制...原创 2019-10-03 10:51:35 · 136 阅读 · 0 评论 -
1.2.5 大型网站技术和java中间件-分布式系统的基础知识 :分布式系统的难点
1.2.5 大型网站技术和java中间件-分布式系统的基础知识 :分布式系统的难点1.2.5.1 缺乏全局时钟1.单机系统中,程序按照单机的时钟为准,控制时序比较容器;分布式系统中,每个节点都有自己的时钟,如果依赖时序来进行协调,就会难以处理2.可以想到保持时钟完全一致,但是同步本身就有时差3.很多时候,我们需要区分两个动作的顺序而不需要具有的时间->可以交给一个单独的...原创 2019-10-03 10:55:14 · 281 阅读 · 0 评论 -
2. 大型网站及其架构演进过程-大型网站及其架构演进过程
2. 大型网站及其架构演进过程-大型网站及其架构演进过程原创 2019-10-03 10:56:01 · 185 阅读 · 0 评论 -
2.1 大型网站技术和java中间件-大型网站及其架构演进过程 :什么是大型网站
2.1 大型网站技术和java中间件-大型网站及其架构演进过程 :什么是大型网站什么是大型网站大型网站没有精确的定义:大型网站应该有海量的数据和非常高并发是的访问量->肯定是分布式,而不是靠单机支持...原创 2019-10-03 10:59:32 · 314 阅读 · 0 评论 -
2.2 大型网站技术和java中间件-大型网站及其架构演进过程
2.2 大型网站技术和java中间件-大型网站及其架构演进过程原创 2019-10-03 11:02:12 · 139 阅读 · 0 评论 -
3.大型网站技术和java中间件-构建java中间件
3.大型网站技术和java中间件-构建java中间件原创 2019-10-07 14:25:43 · 408 阅读 · 0 评论 -
3.1 大型网站技术和java中间件-构建java中间件:java中间件的定义
3.1 大型网站技术和java中间件-构建java中间件:java中间件的定义定义:1.中间件为软件应用提供了操作系统提供的服务外的服务2.中间件不是操作系统的一部分,也不是应用的一部分;是能够让软件开发者方便的处理通信,输入和输出,能够专注在自己的应用的部分三种中间件:1.远程调用和对象访问中间件 主要解决分布式下应用的相互访问问题2.消息中间件 解决应...原创 2019-10-07 14:25:20 · 179 阅读 · 0 评论 -
4. 大型网站技术和java中间件-服务框架
4. 大型网站技术和java中间件-服务框架原创 2019-10-07 14:25:33 · 196 阅读 · 0 评论 -
4.1 大型网站技术和java中间件-服务框架 :网站功能丰富后的困境和应对
4.1 大型网站技术和java中间件-服务框架 :网站功能丰富后的困境和应对 场景: 当网站处于下面的结构时,随着网站的规模变大 ->每个应用的都变得复杂,臃肿(会有重复代码,冗余代码) (虽然可以使用共享库的方式,但是应用起来不方便) 优点: 1.实现的成本低,整体容易把控...原创 2019-10-07 14:25:10 · 123 阅读 · 0 评论 -
4.2 大型网站技术和java中间件-服务框架 : 服务框架的设计和实现
4.2 大型网站技术和java中间件-服务框架 : 服务框架的设计和实现WebApp和Service之间,通过服务框架解决通信问题原创 2019-10-07 14:24:58 · 217 阅读 · 0 评论 -
4.2.1 大型网站技术和java中间件-服务框架 : 服务框架的设计和实现 : 集中走向分布式遇到的问题
4.2.1 大型网站技术和java中间件-服务框架 : 服务框架的设计和实现 : 集中走向分布式遇到的问题服务单个:通常只有单个的情况下,会做一个RPC功能服务多个:通用的框架非常重要把单层的web应用结构改为服务化结构需要做一个通用的服务框架 -> 把本地调用转为远程调用(需要考虑易用性和降低性能损失) 服务框架需要解决的问题: ...原创 2019-10-07 14:24:49 · 113 阅读 · 0 评论 -
4.2.2 大型网站技术和java中间件-服务框架 : 服务框架的设计和实现 : 透过示例看服务框架原型
4.2.2 大型网站技术和java中间件-服务框架 : 服务框架的设计和实现 : 透过示例看服务框架原型示例:单机方式//单机方式情况下:只需要直接调用class RMIIUserImpl { public String getUserName(int id) { log.info("{}{}", getClass(), "正在远程调用");...原创 2019-10-07 14:24:28 · 109 阅读 · 0 评论 -
2.2.9 大型网站技术和java中间件-大型网站及其架构演进过程:初识消息中间件
2.2.9 大型网站技术和java中间件-大型网站及其架构演进过程:初识消息中间件MOM:Message-oriented middleware 消息中间件是在分布式系统中完成消息的发送和接收的基础软件优点: 异步+解耦 应用A和应用B都和消息中间件打交道,两个应用之间不直接联系 -> 完成了解耦 收发消息双方都不知道对方的存在,也不受影...原创 2019-10-07 14:25:53 · 163 阅读 · 0 评论 -
2.2.8 大型网站技术和java中间件-大型网站及其架构演进过程:数据库问题后的应用拆分
2.2.8 大型网站技术和java中间件-大型网站及其架构演进过程:数据库问题后的应用拆分场景随着业务的发展,应用的功能越来越多,应用会越来越大。为了不让应用变大-> 需要把应用分开,把应用变成两个甚至多个 方法1: 根据业务的特性把应用拆开 比如当前应用主要包含3个业务:交易+商品+用户 -> 拆分为两个...原创 2020-01-01 00:45:41 · 136 阅读 · 0 评论 -
2.2.7 大型网站技术和java中间件-大型网站及其架构演进过程:读写分离后的数据表分离
2.2.7 大型网站技术和java中间件-大型网站及其架构演进过程:读写分离后的数据表分离场景:1.通过读写分离及分布式系统可以降低主库的压力;随着网站的演进,数据库的压力还是在增加解决:数据水平分离+数据垂直分离 2.2.7.1 专库专用->数据垂直分离 垂直分离: 把数据库中的不同的表拆分到不同的数据库中。比如用户,商品,交...原创 2020-01-01 00:45:52 · 137 阅读 · 0 评论 -
2.2.6 大型网站技术和java中间件-大型网站及其架构演进过程:弥补分布式数据库的不足,引入分布式存储系统
2.2.6 大型网站技术和java中间件-大型网站及其架构演进过程:弥补分布式数据库的不足,引入分布式存储系统常见的分布式存储系统:1.分布式文件系统 1.1 在分布式环境中,由多个节点组成的与单机文件系统一样的文件系统 1.2 是弱格式的,内容需要使用者自己来组织2.分布式key-value系统 2.1 相对分布式文件系统会更加格式化一些3.分布式数据库...原创 2020-01-01 00:45:55 · 189 阅读 · 0 评论 -
2.2.5 大型网站技术和java中间件-大型网站及其架构演进过程:数据集读压力变大,读写分离吧
2.2.5 大型网站技术和java中间件-大型网站及其架构演进过程:数据集读压力变大,读写分离吧 场景: 随着业务的发展,数据量和访问量都在增长,很多的业务是读多写少的 ->采用读写分离的方式 带来的影响: 1.数据复制问题 1.1 需要解决数据复制延时问题 1.2 复制过程源和目...原创 2020-01-01 00:46:09 · 234 阅读 · 0 评论 -
2.2.4.2 大型网站技术和java中间件-大型网站及其架构演进过程:应用服务器警告高,如何让应用从服务器走向集群:解决Session的问题
2.2.4.2 大型网站技术和java中间件-大型网站及其架构演进过程:应用服务器警告高,如何让应用从服务器走向集群:解决Session的问题影响解决:解决应用服务器变为集群后的Session问题(使用负载均衡)问题:如下图,如果不做操作,-> Browser的请求第一次落到了左边的服务器创建了Session,第二次就可能落到第二个服务器 ...原创 2020-01-01 00:46:13 · 356 阅读 · 0 评论 -
2.2.4 大型网站技术和java中间件-大型网站及其架构演进过程:应用服务器警告高,如何让应用从服务器走向集群
2.2.4 大型网站技术和java中间件-大型网站及其架构演进过程:应用服务器警告高,如何让应用从服务器走向集群 场景: 应用服务器的压力增大 解决: 把服务器从一台变为多台 影响: 1.最终用户对应用服务器的访问问题 2.Session问题...原创 2019-10-07 14:23:44 · 264 阅读 · 0 评论 -
2.2.3 大型网站技术和java中间件-大型网站及其架构演进过程:单机负载警告,数据库和应用分离
2.2.3 大型网站技术和java中间件-大型网站及其架构演进过程:单机负载警告,数据库和应用分离场景:当网站对外服务后,访问量不断增大,系统负载增高 -> 先优化结构(不考虑优化机器和各种软件优化)解决:把数据库和应用从一台机器分为两台机器影响影响很小 -> 只是修改了JDBC的配置地址,对开发,测试,部署都没有影响应用和数据库分开的结构...原创 2019-10-03 11:08:12 · 137 阅读 · 0 评论 -
2.2.2 大型网站技术和java中间件-大型网站及其架构演进过程:从一个单机的交易网站说起
2.2.2 大型网站技术和java中间件-大型网站及其架构演进过程:从一个单机的交易网站说起举例:交易网站的三个功能用户:用户管理,用户注册,用户维护商品:商品展示,商品管理交易:创建交易,交易管理交易完整的单机架构下图的两个注意点:(后面的围绕这这两个地方有不同的变化)1.各个功能模块之间是内部方法调用来构成2.应用和数据库之间是通过JDBC进行访问...原创 2019-10-03 11:07:07 · 1262 阅读 · 0 评论 -
2.2.1 大型网站技术和java中间件-大型网站及其架构演进过程:用java技术和单机来构建的网站
2.2.1 大型网站技术和java中间件-大型网站及其架构演进过程:用java技术和单机来构建的网站简单的java结构大型网站核心就是计算和存储1.下图中的DB就是来存储数据的2.Application Server完成了业务功能和逻辑(用于计算)...原创 2019-10-03 11:06:08 · 185 阅读 · 0 评论 -
大型网站技术和java中间件 - 补:RMI(Remote Method Invoation) java本地调用
大型网站技术和java中间件 - 补:RMI(Remote Method Invoation) java本地调用//客户端必须要依赖//接口及接口依赖的相关classI.远程接口/*** 远程调用的接口 -> 客户端必须要依赖的*/interface RMIIUser extends Remote { //必需要抛出RemoteException...原创 2019-10-07 14:24:02 · 142 阅读 · 0 评论