Tomcat
Tomcat1.Tomcat的缺省端口是多少,怎么修改?1)找到Tomcat目录下的conf文件夹 2)进入conf文件夹里面找到server.xml文件 3)打开server.xml文件 4)在server.xml文件里面找到下列信息 port=”8080”改成你想要的端口 2.tomcat 有哪几种Connector 运行模式(优化)?bio:传统的Java I/O操作,同步且阻塞IO。maxThreads=”150”//Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。默认值200。可以根据机器的时期性能和内存大小调整,一般可以在400-500。最大可以在800左右。minSpareThreads=”25”—Tomcat初始化时创建的线程数。默认值4。如果当前没有空闲线程,且没有超过maxThreads,一次性创建的空闲线程数量。Tomcat初始化时创建的线程数量也由此值设置。maxSpareThreads=”75”–一旦创建的线程超过这个值,Tomcat就会关闭不再需...
RabbitMQ
RabbitMQ1、什么是 RabbitMQ?为什么使用 RabbitMQ?RabbitMQ 是一款开源的,Erlang 编写的,基于 AMQP 协议的,消息中间件; 可以用它来:解耦、异步、削峰。 2、RabbitMQ 有什么优缺点?优点:解耦、异步、削峰; 缺点:降低了系统的稳定性:本来系统运行好好的,现在你非要加入个消息队列进去,那消息队列挂了,你的系统不是呵呵了。因此,系统可用性会降低; 增加了系统的复杂性:加入了消息队列,要多考虑很多方面的问题,比如:一致性问题、如何保证消息不被重复消费、如何保证消息可靠性传输等。因此,需要考虑的东西更多,复杂性增大。 3.rabbitmq 的使用场景(1)服务间异步通信 (2)顺序消费 (3)定时任务 (4)请求削峰 4.RabbitMQ基本概念Broker: 简单来说就是消息队列服务器实体Exchange: 消息交换机,它指定消息按什么规则,路由到哪个队列Queue: 消息队列载体,每个消息都会被投入到一个或多个队列Binding: 绑定,它的作用就是把exchange和queue按照路由规则绑定起来Routing Key: 路由关...
Nginx
Nginx1.什么是Nginx?Nginx是一个高性能的HTTP和反向代理服务器。同时也是一个 IMAP/POP3/SMTP 代理服务器。 官方网站:http://nginx.org。 2.Nginx主要特征?处理静态文件,索引文件以及自动索引;打开文件描述符缓冲. 无缓存的反向代理加速,简单的负载均衡和容错. FastCGI,简单的负载均衡和容错.模块化的结构。包括 gzipping, byte ranges, chunked responses,以及 SSI-filter 等filter。如果由 FastCGI 或其它代理服务器处理单页中存在的多个 SSI,则这项处理可以并行 运行,而不需要相互等待。 支持 SSL 和 TLSSNI. Nginx 它支持内核 Poll 模型,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数。 Nginx 具有很高的稳定性。 例如当前 apache 一旦上到 200 个以上进程,web 响应速度就明显非常缓慢了。而 Nginx 采取了分阶段资源分配技术,使得它的 CPU 与内存占用率非常低。nginx 官...
Netty
Netty1.Netty的特点? 一个高性能、异步事件驱动的NIO框架,它提供了对TCP、UDP和文件传输的支持 使用更高效的socket底层,对epoll空轮询引起的cpu占用飙升在内部进行了处理,避免了直接使用NIO的陷阱,简化了NIO的处理方式。 采用多种decoder/encoder 支持,对TCP粘包/分包进行自动化处理 可使用接受/处理线程池,提高连接效率,对重连、心跳检测的简单支持 可配置IO线程数、TCP参数, TCP接收和发送缓冲区使用直接内存代替堆内存,通过内存池的方式循环利用ByteBuf 通过引用计数器及时申请释放不再引用的对象,降低了GC频率 使用单线程串行化的方式,高效的Reactor线程模型 大量使用了volitale、使用了CAS和原子类、线程安全类的使用、读写锁的使用 2.Netty的线程模型? Netty通过Reactor模型基于多路复用器接收并处理用户请求,内部实现了两个线程池,boss线程池和work线程池,其中boss线程池的线程负责处理请求的accept事件,当接收到accept事件的请求时,把对应的so...
Redis
Redis1.查看配置语法 1 CONFIG GET CONFIG_SETTING_NAME 2.获取所有配置项 1 2 3 4 5 6 7 8 9 10 11 12 13 14 127.0.0.1:6379> config get * 1) "dbfilename" 2) "dump.rdb" 3) "requirepass" 4) "" 5) "masterauth" 6) "" 7) "cluster-announce-ip" 8) "" 9) "unixsocket" 10) "" 11) "logfile" 12) "" ... 3.设置字符串 1 2 127.0.0.1:6379> set xk www.javaxks.com O...
Redis
Redis1.Redis是什么?Redis是一个开放源代码(BSD许可)的内存中数据结构存储,可用作数据库,缓存和消息代理,是一个基于键值对的NoSQl数据库。 2.Redis特性? 速度快 基于键值对的数据结构服务器 丰富的功能、丰富的数据结构 简单稳定 客户端语言多 持久化 主从复制 高可以 & 分布式 3.Redis合适的应用场景? 缓存 排行榜 计数器 分布式会话 分布式锁 社交网络 最新列表 消息系统 4.除了Redis你还知道哪些NoSQL数据库?MongoDB、MemcacheDB、Cassandra、CouchDB、Hypertable、Leveldb。 5.Redis和Memcache区别?支持的存储类型不同,memcached只支持简单的k/v结构。redis支持更多类型的存储结构类型(详见问题6)。 memcached数据不可恢复,redis则可以把数据持久化到磁盘上。 新版本的redis直接自己构建了VM 机制 ,一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。 redis当物理内存用完时,可以将很久没用到的value交换到...
MongoDB必知必会
MongoDB1.什么是MongoDB 1 2 3 MongoDB是一个文档数据库,提供好的性能,领先的非关系型数据库。采用BSON存储文档数据。 BSON()是一种类json的一种二进制形式的存储格式,简称Binary JSON. 相对于json多了date类型和二进制数组。 2.MongoDB的优势有哪些 面向文档的存储:以 JSON 格式的文档保存数据。 任何属性都可以建立索引。 复制以及高可扩展性。 自动分片。 丰富的查询功能。 快速的即时更新。 3.什么是数据库 1 2 数据库可以看成是一个电子化的文件柜,用户可以对文件中的数据运行新增、检索、更新、删除等操作。数据库是一个 所有集合的容器,在文件系统中每一个数据库都有一个相关的物理文件。 4.什么是集合(表) 1 2 集合就是一组 MongoDB 文档。它相当于关系型数据库(RDBMS)中的表这种概念。集合位于单独的一个数据库中。 一个集合内的多个文档可以有多个不同的字段。一般来说,集合中的文档都有着相同或相关的目的。 5 什么是文档(记录) 1 2...
Kafka必知必会
Kafka1.什么是kafka?Apache Kafka是由Apache开发的一种发布订阅消息系统。 2.kafka的3个关键功能? 发布和订阅记录流,类似于消息队列或企业消息传递系统。 以容错的持久方式存储记录流。 处理记录流。 3.kafka通常用于两大类应用? 建立实时流数据管道,以可靠地在系统或应用程序之间获取数据 构建实时流应用程序,以转换或响应数据流 4.kafka特性? 消息持久化 高吞吐量 扩展性 多客户端支持 Kafka Streams 安全机制 数据备份 轻量级 消息压缩 5.kafka的5个核心Api? Producer API Consumer API Streams API Connector API Admin API 6.什么是Broker(代理)?Kafka集群中,一个kafka实例被称为一个代理(Broker)节点。 7.什么是Producer(生产者)?消息的生产者被称为Producer。 Producer将消息发送到集群指定的主题中存储,同时也自定义算法决定将消息记录发送到哪个分区? 8.什么是Consumer(消费者)?消息的消费者...
Dubbo必知必会
Dubbo1.什么是Dubbo?Dubbo是基于Java的高性能轻量级的RPC分布式服务框架,现已成为 Apache 基金会孵化项目。 官网:http://dubbo.apache.org/en-us/ 2.为什么要使用Dubbo?背景: 随着互联网的快速发展,Web应用程序的规模不断扩大,最后我们发现传统的垂直体系结构(整体式)已无法解决。分布式服务体系结构和流计算体系结构势在必行,迫切需要一个治理系统来确保体系结构的有序发展。 开源免费 一些核心业务被提取并作为独立的服务提供服务,逐渐形成一个稳定的服务中心,这样前端应用程序就可以更好地响应变化多端的市场需求 分布式框架能承受更大规模的流量 内部基于netty性能高 3.Dubbo提供了哪3个关键功能?基于接口的远程调用 容错和负载均衡 自动服务注册和发现 4.你知道哪些机构在用Dubbo吗? 5.Dubbo服务的关键节点有哪些? 6.说一下Dubbo服务注册流程? 服务容器负责启动,加载,运行服务提供者。 服务提供者在启动时,向注册中心注册自己提供的服务。 服务消费者在启动时,向注册中心订阅自己所需的服务。 注册中心返回...
Git必知必会
Git1.什么是Git?我建议你先通过了解 git 的架构再来回答这个问题,如下图所示,试着解释一下这个图: Git 是分布式版本控制系统(DVCS)。它可以跟踪文件的更改,并允许你恢复到任何特定版本的更改。 与 SVN 等其他版本控制系统(VCS)相比,其分布式架构具有许多优势,一个主要优点是它不依赖于中央服务器来存储项目文件的所有版本。 每个开发人员都可以“克隆”我在图中用“Local repository”标注的存储库的副本,并且在他的硬盘驱动器上具有项目的完整历史记录,因此当服务器中断时,你需要的所有恢复数据都在你队友的本地 Git 存储库中。 还有一个中央云存储库,开发人员可以向其提交更改,并与其他团队成员进行共享,如图所示,所有协作者都在提交更改“远程存储库”。 2.Git 工作流程本章节我们将为大家介绍 Git 的工作流程。 一般工作流程如下: 克隆 Git 资源作为工作目录。 在克隆的资源上添加或修改文件。 如果其他人修改了,你可以更新资源。 在提交前查看修改。 提交修改。 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。 下图展示了 Git 的...