分布式基础

简介: 分布式基础

1 高质量分布式应用:

高性能 ,可伸缩,高可用,低延迟的要求.同时保证一致性,容错性,可恢复性和安全性

  • 1: 可伸缩性: 垂直伸缩时降低锁竞争,水平伸缩时常用的分布式缓存,分布式文件系统等方法
  • 2: 高可用: 均衡负载, 构建可容错,对资源使用有限制的系统
  • 3: 实现SOA时,可参考的概念:SCA ,ESB 和业界的实现SCA ESB ,

1: SCA: Service Component Architecture:
2: ESB:核心思想是基于中间件来实现系统的交互.基于消息中间件所构建的此系统交互的中间场所称为总线,系统间交互数据采用统一的消息格式,由总线完成消息的转化,路由,发送到相应的目标应用,(1)标准的消息通信格式,ESB系统中要定义系统发送以及接收消息时的消息格式,以便各个系统保持同样的方式与总线通信(2) 消息路由,是指当总线接收到消息后,根据消息中的数据来决定需要调用的系统.更为复杂的情况时,还可以基于消息路由实现功能编排,即当某个功能需要有多个系统共同完成时,可以在总线上以流程的方式编排访问系统的顺序.例如某功能需要首先访问A系统,然后根据A系统返回的结果来决定访问B系统还是C系统 (3)支持多种的消息交互类型: 支持 请求/响应和发布/订阅等方式, 请求/响应方式会更加方便实现同步请求, 发布/订阅方式则以更加方便实现异步的消息广播. (4) 支持多种网络协议,总线要和多个系统进行交互,通常要支持多种网络协议,例如:HTTP/IP UDP/IP HTTP (5)支持多种数据格式并能进行互相转换,多个系统需要发送消息到总线,并由总线将消息转发,但各个系统消息格式可能不一致,此时需要总线支持数据转换.

  • 4: classloader结构: image
  • 5:JVM采用了invokestatic(静态) ,invokevirtual (实例),invokeinterface(接口方法)和invokespecial(调用private方法和编译后的)四个指令来执行不同的方法调用
  • 6: 对于方法的指令解释执行,执行方式为经典的FDX循环方式,即:获取下一条指令,解码并分派,然后执行,在实现FDX循环时有: switch-threading,token-threading,direct-threading,subroutine-threding,inline-threading 等多种方式. Sun JDK采用token-threading.也做了一些其它优化: 栈顶缓存,(将栈顶的值缓存在寄存器) (2)部分栈帧共享, (3)在解释执行特殊情况会直接执行机器指令: Math.sin Unsafe.compareAndSwapInt
  • 7: 方法区: 存放了要加载类的信息(名称,修饰符等),类中的静态变量,类中定义为final类型的常量,类中的Field信息,类中的方法信息.当开发人员在程序中通过Class对象的getName isInterface等方法来获取信息时.这些数据都来自方法区域. 也是全局共享
  • 8: 对象的分配: ( TLAB(Thread Local Allocator ByteBuf) 在eden区)
    -9 : 线程的状态: image
相关文章
|
Java 测试技术
《Java工程师必读手册》——Java单元测试系列——Java单元测试技巧之编写流程(11)
《Java工程师必读手册》——Java单元测试系列——Java单元测试技巧之编写流程(11)
127 0
|
4月前
|
Linux 视频直播
FFmpeg开发笔记(五十四)使用EasyPusher实现移动端的RTSP直播
本文介绍了如何使用EasyPusher-Android实现RTSP直播流程。首先对比了RTSP、RTMP、SRT和RIST四种流媒体协议,并以RTSP为例,详细说明了使用EasyPusher-Android向流媒体服务器进行RTSP直播推流的方法。文中还提供了OBS Studio配置RTSP插件及ZLMediaKit云服务器部署的相关信息,通过修改EasyPusher-Android源码使其支持通用RTSP地址,最终验证了直播功能的成功实现。
125 0
FFmpeg开发笔记(五十四)使用EasyPusher实现移动端的RTSP直播
|
安全 搜索推荐
秒懂云通信:如何用阿里云平台发短信?
手把手教你如何用阿里云平台发短信,超详细控制台步骤解析,快速上手!更有1650元短信体验代金券和免费试用,点击速抢!
4027 0
秒懂云通信:如何用阿里云平台发短信?
|
移动开发 前端开发 数据可视化
从零使用electron搭建桌面端可视化编辑器Dooring
之前有朋友希望我基于H5-Dooring开发一款桌面端应用, 最近刚好有时间, 就花了小半天时间从零使用electron开发了桌面端的离线软件Dooring-electron. 因为之前用electron比较少, 今天刚好学了一下, 也基本把前后端打通了, 文末我会放dooring-electron的github地址供大家参考学习. 如果大家有更好的方案, 可以随时和我讨论.
573 0
|
机器学习/深度学习 人工智能 自然语言处理
单字节,双字节,四字节能够表示的数值大小范围分别是多少
单字节,双字节,四字节能够表示的数值大小范围分别是多少
IDEA出现问题:断点不可用 No executable code found解决方案
IDEA出现问题:断点不可用 No executable code found解决方案
2223 0
IDEA出现问题:断点不可用 No executable code found解决方案
|
8月前
|
存储 人工智能 安全
大环境下AI发展迅速,如何保证AI的安全问题?
保障AI安全的关键措施包括:数据隐私保护(加密、访问控制、脱敏、共享协议)、模型安全(验证、鲁棒性、监测、更新)、用户信息保护(透明收集、匿名化、保密协议)、网络安全(实时监测、防护措施)和合规伦理(遵守法规、融入设计)。此外,安全培训和意识提升也是重要一环。多角度策略确保AI技术的安全、健康和可持续发展。
1324 0
|
4月前
|
JavaScript API UED
vue.js怎么实现全屏显示功能
【10月更文挑战第7天】
100 1

热门文章

最新文章