优秀是一种习惯!!!
AmethystFOB   >   标签墙   >   架构 标签

分布式时间问题集合 有更新!

2023-11-29

分布式时间问题集合 一、 @SpringBootApplication public class SwappingApplication { public static void main(String[] args) { SpringApplication.run(SwappingApplication.class, args); } @PostConstruct void started() { TimeZone.setDefault(TimeZone.getTimeZone("GMT+8")); } } 这段代码是一个基于 Spring Boot 框架的应用程序入口类。让我来解释一下: @SpringBootApplication:这是一个注解,标记了该类是一个 Spring Boot 应用程序的入口类。它将自动进行一些配置,包括自动扫描和加载其他组件、配置以及设置默认属性。 public static void main(String[] args):这是一个 Java 程序的入口方法。在该方法中,通过调用 SpringApplication.run() 来启动 Spring....

架构设计问题 有更新!

2023-11-29

架构设计问题 一、EJB模型和COM+模型 EJB(Enterprise JavaBeans)模型和COM+(Component Object Model Plus)模型是两种不同的分布式组件技术,用于开发企业级应用程序。它们在不同的平台上有不同的实现方式和特点。 EJB模型: EJB是一种基于Java语言的分布式对象模型,用于构建企业级应用程序。 EJB提供了一种将应用程序逻辑封装为可复用组件的方式,这些组件可以在分布式环境中部署和执行。 EJB通过定义接口和实现类的方式来描述组件,提供了事务管理、安全性、并发控制等功能。 EJB组件可以部署在EJB容器中,由容器负责提供生命周期管理、事务管理、线程管理等服务。 EJB模型主要用于Java EE(Enterprise Edition)平台,支持跨平台和跨语言的互操作性。 COM+模型: COM+是一种面向对象的分布式组件技术,最初由微软提出,用于构建Windows平台上的应用程序。 COM+扩展了COM(Component Object Model)模型,提供了更多的功能和服务,例如事务处理、安全性、对象池等。 COM+组件可以用多种....

RestAPI与RPC 有更新!

2023-11-28

Rest API与RPC REST API 和 RPC(Remote Procedure Call,远程过程调用)是两种常见的网络通信协议,它们有以下几点区别: 架构风格:REST 是一种基于客户端/服务器模型、无状态、可缓存的架构风格,而 RPC 是一种传统的客户端/服务器模型。 数据交换格式:REST API 通常使用 JSON 或 XML 格式来交换数据,而 RPC 可以使用多种数据格式,例如二进制流、JSON、XML 等。 接口设计:REST API 的接口设计通常基于资源,使用 HTTP 方法(GET、POST、PUT、DELETE 等)来对资源进行操作,而 RPC 的接口设计通常基于方法调用,使用类似于函数调用的方式来实现远程过程调用。 通信方式:REST API 通常基于 HTTP 协议实现,支持多种 HTTP 方法和状态码,而 RPC 可以使用多种传输协议,例如 TCP、UDP、HTTP、WebSocket 等。 总的来说,REST API 更加灵活和通用,可以使用多种编程语言和平台实现,而 RPC 更加高效和专用,通常用于内部系统之间的通信。选择何种协议应该基于实际需....

AMQP与MQTT选型 有更新!

2023-11-28

AMQP与MQTT选型 一、AMQP优点缺点适用场景 AMQP(Advanced Message Queuing Protocol)和MQTT(Message Queuing Telemetry Transport)都是消息队列协议,用于在分布式系统中传输数据。它们各有优缺点和适用场景。 下面是它们的比较: AMQP 优点 支持广泛的消息模型,包括点对点、发布/订阅、请求/响应等。 支持事务、消息确认和持久化。 支持多种编程语言和客户端库。 可以提供更高级的可靠性和安全性,例如消息加密、身份验证和授权。 缺点 复杂性较高,学习曲线较陡。 需要更高的服务器资源。 不适合对延迟敏感的应用。 适用场景 需要高度可靠性和安全性的应用,例如金融、医疗等领域。 需要支持多种消息模型的应用,例如实时消息、任务处理等。 不需要快速响应的场景,例如数据采集、批处理等。 MQTT 优点 轻量级,协议头较小,适用于低带宽和高延迟的网络环境。 客户端资源消耗较少,可以在嵌入式系统上使用。 支持发布/订阅模型,可以实现实时数据传输。 适合在移动设备和传感器网络中使用。 缺点 不支持事务、消息确认和持久化。 不支....

modbus RTU与modbus http区别与适用场景 有更新!

2023-11-28

modbus RTU与modbus http区别与适用场景 Modbus RTU和Modbus HTTP都是Modbus通信协议的变种,但它们在传输方式、通信协议和应用场景上有所不同。 Modbus RTU是一种基于串口通信的Modbus协议,它使用二进制编码格式在设备之间传输数据。它通常被用于连接工业自动化设备,如PLC(可编程逻辑控制器)和传感器。 Modbus RTU协议适用于需要快速和可靠的数据传输的环境,因为它具有较低的传输延迟和较小的数据包大小,可节省通信带宽。 Modbus HTTP是一种基于互联网通信的Modbus协议,它使用HTTP协议在设备之间传输数据。它通常被用于连接远程设备,如智能家居、监控系统和远程测量设备。 Modbus HTTP协议适用于需要远程数据采集和管理的环境,因为它可以通过互联网进行远程数据访问,并且支持RESTful API的Web服务接口。 因此,Modbus RTU和Modbus HTTP都有其独特的优点和适用场景。选择适当的协议取决于具体应用场景和要求。 串口通信与互联网通信 串口通信和互联网通信是两种不同的通信方式,它们各自有其独特的优缺....

表结构设计之主键的选择(1)——避坑UUID 有更新!

2023-11-28

表结构设计之分布式的主键生成策略的选择(1)——避坑UUID UUID作为主键,再插入数据的时候对于系统的压力是非常大的。如在某个时间点时会出现磁盘的IO异常,导致应用经常出现高延迟。 UUID(全球唯一标识符 Universally Unique Identifier):00000000-0000-0000-0000-000000000000共8+4+4+4+12=32位,业界主要有5中UUID的生成机制: 5种UUID的生成机制 基于时间的UUID 能保证不同设备UUID是唯一的 在同一设备上生成UUID可能重复 利用时间戳 和 设备的具体特性生成唯一编号。 不同设备上因为其环境不同,可以保证UUID是唯一的。 但是在极端环境下:同一设备同一毫秒时间下它生成的UUID就可能会出现重复。因此,如果是超高并发的系统,这种情况还不少。 所以实际开发中不怎么使用基于时间的UUID DCE安全的UUID DCE(身份验证和安全服务) 涉及侵犯用户隐私 有损时间戳导致精度丢失 DCE即使用用户的某些特征(用户名、邮箱等相关的身份标识)来生成,欧美广泛抵制。 所以实际开发中不怎么使用DCE安全的....