vertx的学习总结1
一. vertx是什么? 答:lib工具包
二. 为什么要使用vertx
答:
-
异步和非阻塞:Vert.x 采用了事件驱动和非阻塞的编程模型,可以处理大量并发请求而不会阻塞线程,提供更好的响应性能和吞吐量。
-
多语言支持:Vert.x 支持多种语言,包括 Java、Kotlin、Scala、Groovy 和 JavaScript,使开发人员可以使用他们熟悉的语言来构建应用程序。
-
响应式编程:Vert.x 基于响应式编程模型,可以更容易地处理异步操作和数据流,帮助开发人员构建高效的并发应用程序。
-
内置网络支持:Vert.x 提供了强大的网络支持,包括 TCP、UDP、HTTP 和 WebSocket 等协议,开发人员可以方便地构建网络应用程序和微服务。
-
模块化设计:Vert.x 提供了模块化的设计和丰富的插件生态系统,开发人员可以选择所需的功能模块,以满足自己的需求。
-
当然以上5点都是百度的,对于我而言就是无所事事,就单纯玩着
三、异步和响应式的关系
1.响应式必定是异步的,而异步不一定是响应式
异步指的是在程序执行过程中,某个操作可以独立于主程序的执行进行。异步操作不会阻塞主程序的执行,可以提高程序的并发性和响应性能力。在异步操作中,程序可以继续执行其他任务,而不必等待当前任务完成。
响应式指的是系统对事件的即时响应能力。在响应式编程中,应用程序通过观察(订阅)事件流并定义响应逻辑来实现高效的事件处理。响应式编程使应用程序能够根据事件的到达和发生,实时地做出反应。
四、为什么无法避免使用分布式系统
-
可扩展性:分布式系统可以通过增加计算机节点来提高处理能力和吞吐量。在大规模的数据处理和高并发请求的情况下,单个计算机往往无法满足需求,需要采用分布式系统来分担负载。
-
容错性:分布式系统可以通过冗余备份和容错机制来提高系统的可靠性和容错能力。当某个节点发生故障时,系统可以自动将任务切换到其他正常的节点上,从而保证系统的连续性和可用性。
-
数据局部性:分布式系统可以将数据分布存储在不同的节点上,使得数据更加接近于使用它的计算节点。这样可以减少数据传输的成本和延迟,并提高系统的性能。
-
地理分布:分布式系统可以将计算资源部署在不同地理位置的节点上,实现多地域的协同工作。这对于全球化企业、跨国合作和应对灾难恢复等方面都具有重要意义。
五、vertx的替代方案
-
Spring Boot:Spring Boot 是一个用于构建 Java 应用程序的开发框架。它提供了简化的配置和开发流程,并且具有丰富的生态系统和良好的社区支持。
-
Node.js:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,可用于构建高性能的网络应用程序。它采用事件驱动、非阻塞IO模型,非常适合构建实时应用和高并发系统。
-
Akka:Akka 是一个构建高并发、分布式和容错应用程序的工具包和运行时环境。它使用 Actor 模型来处理并发和消息传递,并提供了强大的容错机制。
-
Django:Django 是一个用于构建 Web 应用程序的 Python 开源框架。它提供了强大的模型-视图-控制器(MVC)架构、ORM(对象关系映射)和丰富的功能插件。
-
Express.js:Express.js 是一个简洁、灵活的 Node.js Web 应用程序框架,它提供了一组强大的功能和中间件,可用于构建灵活的 Web 应用程序。