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 应用程序。
vertx的学习总结1的更多相关文章
- vert.x学习(八),用JDBCClient配合c3p0操作数据库
今天学习了下vert.x的JDBCClient,我这里将今天的学习笔记记录下来.这次学习中使用了c3p0. 用使用JDBCClient和c3p0得现在pom.xml文件里面导入对应的依赖,下面贴出xm ...
- vert.x学习(七),使用表单获取用户提交的数据
在web开发中,用的最多的就是表单了,用户通过表单提交数据到系统后台,系统又可以通过表单传递的数据做业务分析.那么这章就学习在vert.x中怎么使用表单,获取表单的参数值. 编写一个表单模板代码res ...
- vert.x学习(六),动态模板与静态文件的结合
这篇学习在动态模板里面引入css,把动态模板与静态文件结合起来使用. 编写DynamicReference.java package com.javafm.vertx.helloworld; impo ...
- vert.x学习(五),用StaticHandler来处理静态文件
做web开发,css.js.图片等静态资源是必不可少的,那么vert.x又是怎么来加载这些静态资源呢.请看StaticHandler 编写HelloStaticResource.java packag ...
- vert.x学习(四),使用模板解析器ClassLoaderTemplateResolver
在vert.x中使用模板解析,可以为我们带来很多方便.我这里学习了一下ClassLoaderTemplateResolver的简单使用.这次工程配置与上篇一样,不需要做任何多的配置.直接编写代码就可以 ...
- vert.x学习(一),开篇之hello world
今天决定学习下vert.x这个框架,记录下学习笔记. 下面列下我的开发环境: Java版本 1.8 maven版本 3.3 IDEA版本 2016 在idea中使用vert.x不用下载或安装其他东西了 ...
- 学习Spring框架等技术的方向、方法和动机
学习Spring框架最早学习Spring框架是在大二的时候,当时看了几本书,看了一些视频,主要是传智播客的.更多的,还是写代码,单独写Spring的,也有与Struts和Hibernate等框架整合的 ...
- Vertx Future 异常处理
Vertx Future 异常处理 异常发生 在使用Vertx进行开发的时候,必不可免使用Future异步编程框架.通过Future的 compose ,可以轻松实现不同异步任务的组合. 但是 ...
- Vert.x(vertx) 认证和授权
每个线上系统几乎都是离不开认证和授权的,Vert.x提供了灵活.简单.便捷的认证和授权的支持.Vert.x抽象出了两个核心的认证和授权的接口,一个是 AuthProvider,另一个是User.通过这 ...
- Vert.x学习第一天
昨天看了下异步,然后就开始了Vert.x相关知识的学习. Vert.x是当下非常流行的一套全异步框架,其优势在于轻量级.高效.非常适合作为移动端后台或是企业应用. 当然对于第一天接触这个框架的人(没错 ...
随机推荐
- 知识图谱(Knowledge Graph)- Neo4j 5.10.0 Docker 安装
知识图谱(Knowledge Graph)- Neo4j 5.10.0 Docker 安装 知识图谱(Knowledge Graph)- Neo4j 5.10.0 CentOS 安装 https:// ...
- 【matplotlib基础】--子图
使用Matplotlib对分析结果可视化时,比较各类分析结果是常见的场景.在这类场景之下,将多个分析结果绘制在一张图上,可以帮助用户方便地组合和分析多个数据集,提高数据可视化的效率和准确性. 本篇介绍 ...
- 为什么创建 Redis 集群时会自动错开主从节点?
哈喽大家好,我是咸鱼 在<一台服务器上部署 Redis 伪集群>这篇文章中,咸鱼在创建 Redis 集群时并没有明确指定哪个 Redis 实例将担任 master,哪个将担任 slave ...
- Graphviz入门
Graphviz可以用于状态机图的绘制 要绘制一张状态图,我们需要两个图形元素 结点,边 结点和边都有自己的属性 结点可以是圆.矩形.填充 边有粗细
- SonarQube系列-架构与外部集成
介绍 Sonar是一个代码质量管理的开源平台,基于Java开发的,用于管理源代码的质量,通过插件形式,可以支持包括java.C#.JavaScript等二十余种编程语言的代码质量管理与检测. 它具有免 ...
- 【krpano】KRPano测试开发专用浏览器
KRPano技术解密网站:http://www.krpano.tech 在开发KRPano项目时候,每次测试时均需要打开测试服务器,或者上传到空间中才能进行测试,十分不方便. 因此本站提供了免费的KR ...
- 我的 Windows 文件管理哲学
前言 作为一个不合格的 Geek,我经常面临把 Windows 弄崩溃的尴尬处境,我的系统因此重装了一遍又一遍--不过在一次次的重装中,我逐渐总结出了于我个人而言行之有效的文件管理哲学,在此略做总 ...
- Springboot简单功能示例-4 自定义加密进行登录验证
springboot-sample 介绍 springboot简单示例 跳转到发行版 查看发行版说明 软件架构(当前发行版使用) springboot hutool-all 非常好的常用java工具库 ...
- 11G RAC 11.2.0.1.0实例evict故障处理
Aix 7.1 参考文档: https://blogs.oracle.com/database4cn/rac Resolving ORA-481 and "terminating the i ...
- 【PHP反序列化】速览
PHP反序列化 一.原理 序列化就是将对象转化成字符串,反序列化相反.数据的格式转换和对象的序列化有利于对象的保存 . 反序列化漏洞:就是php对数据进行反序列化时,没有进行过滤,导致用户可以控制反序 ...