Tomcat与Netty比较

    • Tomcat介绍
    • Tomcat支持的协议
    • Tomcat的优缺点
    • Netty介绍
    • Netty支持的协议
    • Netty的优点和缺点
    • Tomcat和Netty的区别
    • Tomcat和Netty的应用场
    • Tomcat和Netty来处理大规模并发连接的优化
    • Tomcat与Netty的网络模型的区别
    • Tomcat与Netty架构设计
    • 拓展

Tomcat介绍

Tomcat是一个免费的、开放源代码的Web应用服务器,是Apache软件基金会项目中的一个核心项目。它由Apache、Sun和其他一些公司及个人共同开发而成,深受Java爱好者的喜爱,是一款比较流行的Web应用服务器。

Tomcat由一系列的组件构成,其中核心的组件有三个:

  1. web容器:完成web服务器的功能。
  2. servlet容器:名字为catalina,用于处理Servlet代码。
  3. jsp容器:用于将jsp动态网页翻译成Servlet代码。

因此,Tomcat是web应用服务器,也是一个Servlet/JSP容器。作为Servlet容器,Tomcat负责处理客户请求,把请求传送给Servlet,并将Servlet的响应传送回给客户。在中小型系统和并发访问用户不是很多的场合下,Tomcat被普遍使用,是开发和调试JSP程序的首选。

在这里插入图片描述

Tomcat支持的协议

Tomcat支持的协议很多,主要包括如下的协议

  1. HTTP/1.1 : Tomcat对HTTP/1.1的支持体现在持久连接、请求和响应的处理、虚拟主机支持、请求的路由和处理、错误处理和日志记录以及兼容性和向后兼容性等方面。这些功能使得Tomcat能够作为一款可靠的Web服务器,为使用HTTP/1.1协议的应用提供良好的支持。

  2. HTTP/2.0 :Tomcat从8.5版本开始支持HTTP/2.0协议。HTTP/2.0协议在传输方面进行了重要改进,包括采用二进制格式传输数据而非HTTP/1.1的文本格式,支持服务器推送等。Tomcat对HTTP/2.0的支持主要通过移除SPDY/2的相关功能实现,因为HTTP/2.0与SPDY虽然有所不同,但两者之间存在一些相似之处。在HTTP/2.0中,一个基本的协议单元是帧,这与TCP中的数据包概念相似。

  3. AJP :在Tomcat中,AJP协议主要用于连接Apache HTTP服务器和其他反向代理服务器,实现Web服务器和Servlet容器之间的通信。通过AJP连接器(AJP Connector),Tomcat可以与支持AJP协议的Web服务器进行集成,提供更好的性能和扩展性

Tomcat的优缺点

  • Tomcat的优点主要包括:
  1. 轻量级和易部署:Tomcat是一个轻量级的服务器,具有较小的体积和简单的配置,使得它易于部署和管理。
  2. 开放源代码:Tomcat是开源的,这意味着用户可以免费获取和使用它,并根据需要对其进行修改。
  3. 稳定性好:Tomcat经过长时间的发展和广泛的应用,已经证明了其稳定性和可靠性。
  4. 支持Servlet和JSP:Tomcat是一个符合Java Servlet和JavaServer Pages技术规范的实现,可以运行基于Servlet和JSP的Web应用程序。
  5. 支持多种应用:Tomcat不仅可以作为Web服务器运行,还可以作为独立的应用服务器运行,支持多种应用和框架。
  • Tomcat也有一些缺点:
  1. 内存占用较大:相较于一些其他的Web服务器,Tomcat的内存占用较大,可能会影响性能。
  2. 线程数限制:Tomcat默认的线程数是有限制的,这可能会影响到并发访问的性能。
  3. 安全性:虽然Tomcat已经进行了安全配置,但用户仍需要采取额外的安全措施来保护自己的应用程序和数据。
  4. 更新和维护:由于Tomcat是开源的,因此需要用户自行负责更新和维护。

Netty介绍

Netty是由JBOSS提供的一个java开源框架,现为Github上的独立项目。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。

具体来说,Netty是一个基于NIO的客户、服务器端的编程框架,使用Netty可以确保快速和简单的开发出一个网络应用,例如实现了某种协议的客户、服务端应用。Netty相当于简化和流线化了网络应用的编程开发过程,例如:基于TCP和UDP的socket服务开发。 “快速”和“简单”并不用产生维护性或性能上的问题。Netty是一个吸收了多种协议(包括FTP、SMTP、HTTP等各种二进制文本协议)的实现经验,并经过相当精心设计的项目。最终,Netty成功的找到了一种方式,在保证易于开发的同时还保证了其应用的性能,稳定性和伸缩性。

此外,Netty整合了网络编程、多线程处理和并发等多个领域,极大地简化了网络开发的流程。 Netty本质是一个NIO框架,适用于服务器通讯相关的多种应用场景,它能够快速和轻松地开发网络应用程序,如协议服务器和客户端。它极大地简化了TCP和UDP套接字服务器等网络编程。

在这里插入图片描述

Netty支持的协议

Netty支持多种协议,包括但不限于:

  1. TCP/UDP:Netty提供了基于NIO的TCP和UDP编程框架,可以用来构建高性能、高可用性的网络应用。
  2. HTTP/HTTPS:Netty提供了HTTP/HTTPS编程框架,可以用来开发Web服务器和客户端。
  3. WebSocket:Netty提供了WebSocket编程框架,可以用来实现双向通信应用程序,如聊天室等。
  4. SPDY/HTTP2:Netty提供了SPDY和HTTP2编程框架,可以用来实现高效的Web应用程序。
  5. MQTT/CoAP:Netty提供了MQTT和CoAP编程框架,可以用来构建IoT应用程序。

此外,Netty还支持各种二进制和文本协议,如FTP、SMTP等。这些协议都是通过Netty的ChannelHandler来处理的,用户只需要根据业务需求实现对应的ChannelHandler即可。

Netty的优点和缺点

  • Netty的优点主要包括:
  1. API使用简单,开发门槛低。
  2. 功能强大,预置了多种编解码功能,支持多种主流协议。
  3. 定制能力强,可以通过ChannelHandler对通信框架进行灵活地扩展。
  4. 性能高,通过与其他业界主流的NIO框架对比,Netty的综合性能最优。
  5. 成熟、稳定,Netty修复了已经发现的所有JDK NIO BUG,业务开发人员不需要再为NIO的BUG而烦恼。
  6. 社区活跃,版本迭代周期短,发现的BUG可以被及时修复,同时,更多的新功能会加入。
  7. 经历了大规模的商业应用考验,质量得到验证。 在互联网、大数据、网络游戏、企业应用、电信软件等众多行业得到成功商用,证明了它已经完全能够满足不同行业的商业应用了。

Tomcat和Netty的区别

Tomcat和Netty在以下方面存在一些区别:

  1. 作用:Tomcat是Servlet容器,可以视为Web服务器,而Netty是异步事件驱动的网络应用程序框架和工具,用于简化网络编程,例如TCP和UDP套接字服务器。
  2. 协议:Tomcat是基于HTTP协议的Web服务器,而Netty能通过编程自定义各种协议,因为Netty本身自己能编码/解码字节流,所有Netty可以实现HTTP服务器、FTP服务器、UDP服务器、RPC服务器、WebSocket服务器、Redis的Proxy服务器、MySQL的Proxy服务器等等。
  3. 性能:虽然Tomcat和Netty在某些方面都有较好的性能,但Netty的性能更高。Tomcat从6.x开始就支持了nio模式,并且后续还有arp模式——一种通过jni调用apache网络库的模式,相比于旧的bio模式,并发性能得到了很大提高。而Netty是否比Tomcat性能更高,则要取决于Netty程序作者的技术实力。

Tomcat和Netty在作用、协议和性能方面存在一些区别。用户可以根据自己的需求选择合适的工具。

选择Tomcat还是Netty,主要取决于具体需求。

如果需求是构建高性能、高并发的网络应用,并且需要实现自定义协议,那么Netty可能更适合。因为Netty的异步、事件驱动的设计模式能更好地应对高并发场景,并且它支持自定义协议,提供了更为灵活的网络编程框架。

然而,如果主要需求是构建Web应用服务器,并且基于HTTP协议的应用较多,那么Tomcat可能更简单易用。Tomcat一度是web容器的标准,并且对HTTP层的支持更为完善。

Tomcat和Netty的应用场

Tomcat和Netty的应用场景存在一定差异。

Tomcat主要应用于传统的Web应用程序,如电子商务网站、博客等。它是一个开源的Web服务器,提供了一个容器来运行Java Web应用程序,并处理HTTP请求和响应。Tomcat的设计目标是提供一种简单、易用、可靠的方式来开发和部署Java Web应用程序。

而Netty则更适用于需要处理大量并发连接和高吞吐量的场景,如实时通信、游戏服务器等。Netty是一个基于事件驱动的异步网络应用框架,它提供了高性能、可扩展的网络编程能力。其设计目标是提供一种简单、高效、可靠的方式来开发可维护的高性能服务器和客户端。

Tomcat和Netty在相同的服务器配置下,Netty的并发支持能力通常更高。

Tomcat默认的最大并发数是150,可以通过配置来提高,但受限于线程数。而Netty基于NIO(非阻塞IO)设计,能够处理更多的并发连接,并且不需要为每个请求创建新的线程。这使得Netty在处理大量并发连接时具有更高的性能和效率。

总的来说,如果需要处理大量并发连接,Netty是一个更好的选择。

Tomcat和Netty来处理大规模并发连接的优化

  • 处理大规模并发连接时,Netty可以通过以下方式进行优化:
  1. 异步和事件驱动的设计:Netty基于异步和事件驱动的设计模式,通过非阻塞IO(NIO)处理连接。它可以高效地处理大量并发连接,而无需为每个连接创建新的线程。
  2. 连接管理和复用:Netty使用连接池和连接复用技术来管理连接。它可以重用已经建立的连接,避免了频繁地创建和销毁连接的开销。
  3. 流量控制和背压机制:Netty提供了流量控制和背压机制,可以根据服务器的负载情况动态调整接收和发送数据的速率,避免服务器过载。
  4. 高效的线程模型:Netty采用了多线程模型,通过合理的线程划分和调度,充分利用多核处理器的性能,提高了并发处理能力。
  5. 自定义协议和编解码器:Netty支持自定义协议,并提供了丰富的编解码器,可以灵活地处理各种协议和数据格式,以满足不同场景的需求。
  6. 高性能的数据传输:Netty使用了零拷贝技术和缓冲区池化,减少了数据传输过程中的内存拷贝和分配开销,提高了数据传输的效率。
  7. 监控和调优:Netty提供了丰富的监控和调优手段,可以实时监测服务器的性能指标,并根据需要进行调整和优化,以保证系统的稳定性和性能。

通过异步和事件驱动的设计、连接管理和复用、流量控制、高效的线程模型、自定义协议和编解码器、高性能的数据传输以及监控和调优等技术手段,Netty能够有效地处理大规模并发连接,并提供高性能、可扩展的网络应用服务。

  • Tomcat对大规模并发连接的支持可以通过以下方式进行优化:
  1. 服务器配置优化:通过优化Tomcat的服务器配置,如调整线程池大小、连接器配置等,可以提高并发处理能力。可以根据实际应用的需求和硬件资源来合理配置。
  2. 使用负载均衡和集群技术:通过负载均衡器将请求分发到多个Tomcat实例,可以实现水平扩展,提高并发处理能力。同时,集群技术可以将多个Tomcat实例组成一个集群,共同处理请求,进一步提高并发处理能力。
  3. 连接池和连接复用:类似于Netty,Tomcat也可以使用连接池和连接复用技术来管理连接,避免频繁地创建和销毁连接的开销。
  4. 异步处理和事件驱动:虽然Tomcat是同步的,但可以通过异步处理和事件驱动的方式来提高并发处理能力。例如,使用异步Servlet或Spring的异步Web框架等技术。
  5. 数据库读写分离:对于数据库的读写操作,可以采用读写分离的策略,将读操作和写操作分发到不同的数据库实例,减轻单点数据库的压力,提高并发处理能力。
  6. 缓存技术:合理使用缓存技术,如Redis、Memcached等,可以减少对数据库的访问次数,减轻数据库的压力,从而提高并发处理能力。
  7. 监控和调优:通过监控Tomcat的性能指标,及时发现瓶颈并进行调优。例如,调整JVM参数、优化SQL语句等。

通过优化服务器配置、使用负载均衡和集群技术、连接池和连接复用、异步处理和事件驱动、数据库读写分离、缓存技术和监控调优等技术手段,Tomcat也可以有效地支持大规模并发连接。

Tomcat与Netty的网络模型的区别

Tomcat的网络模型主要有三种:JIO(即BIO)、NIO和NIO2(即AIO)。

  1. JIO(Java I/O):这是传统的同步阻塞模型,即BIO。在这种模型中,I/O操作是同步的,并且当数据未准备好时,线程会被阻塞。这种模型适用于连接数较少且数据量大的场景。
  2. NIO(Non-blocking I/O):这是Java 7引入的模型,支持非阻塞的I/O操作。在这种模型中,I/O操作是异步的,当数据未准备好时,线程不会被阻塞,而是可以继续执行其他任务。这种模型适用于高并发、高吞吐量的场景。
  3. NIO2(Asynchronous I/O):这是Java 7引入的另一种异步I/O模型,也被称为AIO。与NIO相比,NIO2更简单、更轻量级,它提供了基于回调的异步I/O操作。这种模型适用于需要处理大量并发连接的场景。

在Tomcat 7之前,主要使用JIO模型;从Tomcat 7开始,支持NIO和NIO2模型;在Tomcat 8之后,默认使用NIO模型。可以根据具体需求选择合适的网络模型。

Netty的网络模型是基于NIO(非阻塞IO)的,它使用了事件驱动和异步的设计模式。Netty的核心组件包括Channel、EventLoop、ChannelHandler等,通过这些组件的协作,实现了高效的网络通信。

Netty的网络模型具有以下特点:

  1. 事件驱动:Netty的事件驱动设计使得它能够高效地处理并发连接。当网络事件发生时,Netty会将其封装成一个事件对象,并传递给相应的ChannelHandler进行处理。
  2. 异步性:Netty的异步性使得它不会阻塞线程等待IO操作完成,而是通过回调函数通知处理完成或者错误信息。这种异步的设计使得Netty能够处理更多的并发连接。
  3. 内存池化:Netty使用了内存池化的技术,通过预先分配一定数量的ByteBuf对象,避免了频繁的内存分配和回收操作,减少了GC的次数和提高了性能。
  4. 零拷贝:Netty的零拷贝技术减少了数据在内存中的拷贝次数,提高了数据传输的效率。通过优化文件通道的读写操作,Netty能够避免不必要的内存拷贝和数据复制。
  5. 高度可定制:Netty提供了丰富的ChannelHandler接口,用户可以根据需求实现自定义的ChannelHandler来处理网络事件。这种可定制性使得Netty能够适应各种不同的应用场景。
  6. 异步事件驱动模型:Netty使用异步事件驱动模型来处理网络事件,EventLoop会循环监听事件,当事件到来时,会调用ChannelHandler进行处理。这种模型使得Netty能够充分利用多核CPU的资源,提高处理性能。
  7. 线程模型:Netty使用了多Reactor模型,包括一个MainReactor和多个SubReactor。MainReactor负责接收新连接,SubReactor负责处理已接受的连接。这种线程模型使得Netty能够高效地处理大量并发连接。

Tomcat与Netty架构设计

  • Tomcat的架构设计主要包括以下几个部分:
  1. 连接器(Connector) :连接器负责处理HTTP请求和响应的数据流,可以支持多种协议和传输方式,如HTTP、HTTPS、AJP等。连接器可以配置多个,每个连接器监听不同的端口。
  2. Web容器(Web Container) :Web容器负责管理Web应用程序,每个Web应用程序都有一个Context,它包含了该应用程序的Servlet、Filter、Listener等组件的定义和配置。Web容器还负责类加载、Session管理、安全性等方面的处理。
  3. 集群和负载均衡(Clustering and Load Balancing) :Tomcat支持将多个Tomcat实例组成一个集群,以提高性能和可用性。集群中的Tomcat实例可以通过共享Session等方式进行通信,并且可以通过负载均衡器将请求分发到不同的Tomcat实例上。
  4. 日志和监控(Logging and Monitoring) :Tomcat提供了丰富的日志记录和监控功能,可以帮助开发人员和管理员监控Tomcat的运行状态和性能指标。

Tomcat的架构设计包括连接器、Web容器、集群和负载均衡、日志和监控等部分,这些组件协同工作,使得Tomcat能够提供高性能、可扩展的Web应用服务。

  • Netty的架构设计包括以下几个主要部分:
  1. 通信调度层(Reactor) :由一系列辅助类完成,包括Reactor线程(NioEventLoop及其父类)、NioSocketChannel/NioServerSocketChannel及其父类、Buffer组件、Unsafe组件等。该层的主要职责是监听网络的读写和连接操作,负责将网络层的数据读取到内存缓冲区,然后触发各种网络事件,例如连接创建、连接激活、读事件、写事件等。
  2. 责任链层(Pipeline) :负责上述的各种网络事件在责任链中的有序传播,同时负责动态地编排责任链。责任链可以选择监听和处理自己关心的事件,可以拦截处理事件,以及向前向后传播事件。

Netty的设计基于NIO(非阻塞IO)模型,具有异步、事件驱动的特点,可以高效地处理大量并发连接.

在这里插入图片描述

拓展

HTTP/2.0协议详解

I/O基础知识入门

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/223756.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaOOP篇----第十五篇

系列文章目录 文章目录 系列文章目录前言一、有没有可能两个不相等的对象有相同的hashcode二、拷贝和浅拷贝的区别是什么?三、static都有哪些用法?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通…

RabbmitMQ基础

RabbmitMQ基础 1.1 什么是MQ MQ(Message Queue),从字面意思看,本质是个队列,FIFO先入先出,队列中存放的是message。是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ是一种非常常见的上下游…

10 NAT网络地址转换

广域网技术 上面聊的内容都是内网的一些配置,但内网终将要访问外网的,我们需要怎么处理呢?一般使用HDLC(高级数据链路控制协议)或者PPP(点对点协议)。 使用PPP安全接入Internet PPP&#xff0…

PHP函数定义和分类

函数的含义和定义格式 在PHP中,允许程序员将常用的流程或者变量等组件组织成一个固定的格式实现特定功能,也就是说函数是具有特定功能特定格式的代码段。 函数的定义格式如下: function 函数名(参数1,参数2,参数n) {…

基于SSM的双减后初小教育课外学习生活活动平台的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

ESP8266网络相框采用TFT_eSPI库TJpg_Decoder库mixly库UDP库实现图片传送

用ESP8266和TFT_ESPI模块来显示图片数据。具体来说,我们将使用ILI9431显示器作为显示设备,并通过UDP协议将图片数据从发送端传输到ESP8266。最后,我们将解析这些数据并在TFT屏幕上显示出来。在这个过程中,我们将面临一些编程挑战&…

STM32 支持IAP的bootloader开发,使用串口通过Ymodem协议传输固件

资料下载: https://download.csdn.net/download/vvoennvv/88658447 一、概述 关于IAP的原理和Ymodem协议,本文不做任何论述,本文只论述bootloader如何使用串口通过Ymodem协议接收升级程序并进行IAP升级,以及bootloader和主程序两个工程的配置…

最常见的SQL报错注入函数(floor、updatexml、extractvalue)及payload总结

SQL报错注入是一种常见的SQL注入攻击方式,攻击者通过注入恶意代码,触发数据库的错误响应,并从错误信息中获取有用的信息。 下面介绍最常见的三个报错注入函数用法及payload总结: 1、floor() 使用floor报错注入,需要…

Centos 7.9安装Oracle19c步骤亲测可用有视频

视频介绍了在虚拟机安装centos 7.9并安装数据库软件的全过程 视频链接:https://www.zhihu.com/zvideo/1721267375351996416 下面的文字描述是安装数据库的部分介绍 一.安装环境准备 链接:https://pan.baidu.com/s/1Ogn47UZQ2w7iiHAiVdWDSQ 提取码&am…

Java经典框架之Spring

Java经典框架之Spring Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。 课程内容的介绍 1. Spring简介 2.…

T-Dongle-S3开发笔记——相关配置

portTICK_PERIOD_MS设置 Flash配置 Flash SPI mode 默认是DIO,改为QIO (W25Q128支持QIO) DIO与QIO区别: esp8266,esp32中的SPI FLASH 访问模式(QIO QOUT DIO DOUT)_qio dio-CSDN博客 Dual SPI:MOSI 和 MISO 引脚…

等腰三角形两底角相等

等腰三角形定义: 是指至少有两边相等的三角形。相等的两个边称为这个三角形的腰 二.证明 有等腰△ABC,AB和AC是腰,p是BC的中点 证明等腰三角形两底角相等 即 ∠ A B P ∠ P C A ∠ABP∠PCA ∠ABP∠PCA ∴ ∴ ∴ 三角形内角和为180 ∵ { ∠ A B P ∠ A P B ∠ B A P 180 …

什么是视频号小店?怎么开通,上架产品,一篇详解!

大家好,我是电商糖果 一个做了七年电商的95后,现居河南郑州。 混迹互联网多年,电商圈的gai溜子,偶尔会抽抽风。 这篇文章分享的内容是糖果在2022年做的电商项目——视频号小店。 因为它是刚出来的,很多人对此不是很…

leetcode 1576. 替换所有的问号(easy)(优质解法)

链接&#xff1a;1576. 替换所有的问号 代码&#xff1a; class Solution {public String modifyString(String s) {char[] charSs.toCharArray();int lengthcharS.length;//遍历找到 &#xff1f;for(int i0;i<length;i){if(charS[i]?){//遍历 a ~ z 选择一个合适的字符来…

12.21 汇编点亮STM32MP157小灯

.text .global _start _start: 时钟使能LDR r0,0x50000A28LDR r1,[r0]ORR r1,r1,#(0x1<<4)ORR r1,r1,#(0x1<<5)ORR r1,r1,#(0x1<<1)STR r1,[r0]配置GPIO模式LDR r0,0x50006000LDR r1,[r0]BIC r1,r1,#(0x2<<20)ORR r1,r1,#(0x1<<20)BIC r1,r1,#(…

Redis高并发缓存设计问题与性能优化

Redis高并发缓存设计问题与性能优化 缓存设计典型问题缓存穿透缓存失效(击穿)缓存雪崩热点缓存key重建优化缓存与数据库双写不一致 开发规范与性能优化一、键值设计1. key名设计2. value设计big key的危害&#xff1a;1.导致redis阻塞2.网络拥塞3. 过期删除 big key的产生&…

电脑完全重装教程——原版系统镜像安装

注意事项 本教程会清除所有个人文件 请谨慎操作 请谨慎操作 请谨慎操作 前言 本教程是以系统安装U盘为介质进行系统重装操作&#xff0c;照着流程操作会清除整个硬盘里的文件&#xff0c;请考虑清楚哦&#xff5e; 有些小伙伴可能随便在百度上找个WinPE作为启动盘就直接…

AI日报:2024年人工智能对各行业初创企业的影响

欢迎订阅专栏 《AI日报》 获取人工智能邻域最新资讯 文章目录 2024年人工智能对初创企业的影响具体行业医疗金融服务运输与物流等 新趋势 2024年人工智能对初创企业的影响 2023年见证了人工智能在各个行业的快速采用和创新。随着我们步入2024年&#xff0c;人工智能初创公司正…

反序列化版本漏洞

laravel5.7反序列化漏洞 <?phpnamespace Illuminate\Foundation\Testing {class PendingCommand{public $test;protected $app;protected $command;protected $parameters;public function __construct($test, $app, $command, $parameters){$this->test $test; …

5 分钟体验下一代轻量级日志分析系统Loki

公众号「架构成长指南」&#xff0c;专注于生产实践、云原生、分布式系统、大数据技术分享 Grafana Loki 是什么 Loki是由Grafana Labs开源的一个水平可扩展、高可用性&#xff0c;多租户的日志聚合系统的日志聚合系统。它的设计初衷是为了解决在大规模分布式系统中&#xff0…