jetty

【少走弯路】 之 zookeeper安装异常记录汇总

大城市里の小女人 提交于 2020-08-19 12:58:06
玩个zookeeper把所有的坑全部踩了一遍 从Windows到Linux,从配置文件到脚本,从环境变量到日志 BUG之王当之无愧 但是不能白白浪费经历的坑,分享一下给大家填坑 ZooKeeper介绍   ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 ZooKeeper包含一个简单的原语集, 提供Java和C的接口。 官网: https://zookeeper.apache.org 进入下载入口: 选择任意下载地址: 下载版本 踩坑 版本建议下载3.5以下的,较为稳定,如果你下载了最新版的,准备跟着我踩坑 下载后直接解压即可 进入到apache-zookeeper-3.5.6\conf文件夹,找到zoo_sample.cfg,复制一份到当前文件夹,重命名为zoo.cfg 为什么修改呢?在zkEnv.cmd中是默认叫zoo的 至于里面的配置信息,可以根据个人需求修改 附加 zoo.cfg参数说明 tickTime:这个时间是作为 Zookeeper

最常用的linux命令

拜拜、爱过 提交于 2020-08-18 04:38:11
查看磁盘挂载情况: df -h 查看当前目录下每个文件夹的大小 du -lh --max-depth=1 清空特定文件root >root 查看安装的linux发型版本 cat /proc/version *******lsb_release -a uname --m 查看所有安装的软件包 rpm -qa 杀死进程 kill -9 进程名 网络 # ifconfig # 查看所有网络接口的属性 # iptables -L # 查看防火墙设置 # route -n # 查看路由表 # netstat -lntp # 查看所有监听端口 # netstat -antp # 查看所有已经建立的连接 # netstat -s # 查看网络统计信息 linux查看某个端口(Port)的使用情况 lsof -i:80 netstat -anp|grep 80 Windows查看端口使用情况 Jetty后台启动和关闭 nohup java -jar start.jar & ps -aux |grep java 查找文件 find / -name '*.txt' 指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组

SpringMVC中实现文件上传下载的三种解决方案(推荐)

淺唱寂寞╮ 提交于 2020-08-17 18:13:23
前言:因自己负责的项目(jetty内嵌启动的SpringMvc)中需要实现文件上传,而自己对java文件上传这一块未接触过,且对 Http 协议较模糊,故这次采用渐进的方式来学习文件上传的原理与实践。该博客重在实践。 一. Http协议原理简介 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 简单来说,就是一个基于应用层的通信规范:双方要进行通信,大家都要遵守一个规范,这个规范就是HTTP协议。 1.特点: (1)支持客户/服务器模式。 (2)简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 (3)灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 (4)无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 (5

【Nginx】如何获取客户端真实IP、域名、协议、端口?看这一篇就够了!

会有一股神秘感。 提交于 2020-08-17 07:42:36
写在前面 Nginx最为最受欢迎的反向代理和负载均衡服务器,被广泛的应用于互联网项目中。这不仅仅是因为Nginx本身比较轻量,更多的是得益于Nginx的高性能特性,以及支持插件化开发,为此,很多开发者或者公司基于Nginx开发出了众多的高性能插件。使用者可以根据自身的需求来为Nginx指定某款插件以增强Nginx在某种特定场景下的功能或者提升Nginx在某种特定场景下的性能。 Nginx获取客户端信息 注意:本文中的客户端信息指的是:客户端真实IP、域名、协议、端口。 Nginx反向代理后,Servlet应用通过 request.getRemoteAddr() 取到的IP是Nginx的IP地址,并非客户端真实IP,通过 request.getRequestURL() 获取的域名、协议、端口都是Nginx访问Web应用时的域名、协议、端口,而非客户端浏览器地址栏上的真实域名、协议、端口。 直接获取信息存在哪些问题? 例如在某一台IP为192.168.1.100的服务器上,Jetty或者Tomcat端口号为8080,Nginx端口号80,Nginx反向代理8080端口: server { listen 80; location / { proxy_pass http://127.0.0.1:8080; # 反向代理应用服务器HTTP地址 } } 在另一台机器上用浏览器打开http:/

Spring Boot (十四): 响应式编程以及 Spring Boot Webflux 快速入门

扶醉桌前 提交于 2020-08-16 23:22:41
1. 什么是响应式编程 在计算机中,响应式编程或反应式编程(英语:Reactive programming)是一种面向数据流和变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播。(了解源码可+求求: 1791743380) 例如,在命令式编程环境中,a=b+c 表示将表达式的结果赋给 a,而之后改变 b 或 c 的值不会影响 a 。但在响应式编程中,a 的值会随着 b 或 c 的更新而更新。 响应式编程是基于异步和事件驱动的非阻塞程序,只需要在程序内启动少量线程扩展,而不是水平通过集群扩展。 设想一个场景,从底层数据库驱动,经过持久层、服务层、MVC层中的model,到用户的前端界面的元素,全部都采用声明式的编程范式,从而搭建一条能够传递变化的管道,这样我们只要更新一下数据库中的数据,用户的界面上就相应的发生变化,从而无需前端轮询才能获取到最新的数据。 简单来讲,我们以前写的程序是阻塞式的,当一个请求任务过来时,线程会阻塞,等到这个任务完成后再返回出去。而响应式编程则是一个请求任务过来时,会有其他的线程去做处理,当任务执行结束后再异步的通知回去。 2. 为什么要使用响应式编程 在如今互联网时代的大背景下,Web应用通常要面对高并发、海量数据的挑战,性能从来都是必须要考量的核心因素。 阻塞便是性能杀手之一。

spring-boot学习:十九、spring-boot集成activemq

故事扮演 提交于 2020-08-16 14:00:53
一、安装activemq(windows) 下载后解压到指定目录 http://activemq.apache.org/components/classic/download/ 配置文件D:\software\apache-activemq-5.15.9\conf 1)jetty.xml 配置控制台地址和端口: <bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start"> <!-- the default port number for the web console --> <property name="host" value="0.0.0.0"/> <property name="port" value="8161"/> </bean> 角色: <bean id="securityConstraint" class="org.eclipse.jetty.util.security.Constraint"> <property name="name" value="BASIC" /> <property name="roles" value="user,admin" /> <!-- set authenticate=false to disable login -

手写Spring框架,加深对Spring工作机制的理解!

回眸只為那壹抹淺笑 提交于 2020-08-16 11:02:18
关注: Java提升营 ,最新文章第一时间送达, 10T 免费学习资料 随时领取!!! 在我们的日常工作中,经常会用到Spring、Spring Boot、Spring Cloud、Struts、Mybatis、Hibernate等开源框架,有了这些框架的诞生,平时的开发工作量也是变得越来越轻松,我们用 Spring Boot 分分钟可以新建一个Web项目。 记得自己刚开始工作的时候还是在用 Servlet 写 Web 项目,自己写 数据库连接池 ,用原生 JDBC 操作数据库,好了不发散了。回到这篇文章的主题,今天通过手写Spring框架,帮大家深入了解一下Spring的工作机制,文中涉及的代码只用来帮助大家理解Spring,不会在线上使用,有不严谨的地方还请大家掠过。 项目结构 框架部分实现 为了区分框架部分代码和业务部分代码,我们将这两部分分别划分在不同的包内 com.mars.demo 和 com.mars.framework ,以便随后只扫描业务代码。 这里是自己手写Spring框架,所以不会引入任何Spring项目相关的包。 由于是一个Web项目,所有我们需要引入 servlet-api 包,仅供编译器使用,所有配置 scope 为 provided 。 新建一个Servlet 首先新建一个 HttpServlet 的实现类 MarsDispatcherServlet

Maven+JSP+Servlet+C3P0+Mysql实现的音乐库管理系统

北慕城南 提交于 2020-08-15 21:49:27
项目简介 项目来源于: https://gitee.com/sunnyandgood/OnlineMusic 本系统基于 Maven+JSP+Servlet+C3P0+Mysql 实现的音乐库管理系统。简单实现了充值、购买歌曲、poi数据导入导出、歌曲上传下载、歌曲播放、用户注册登录注销等功能。 难度等级:简单 技术栈 编辑器 IntelliJ IDEA 2020.1.1 (Ultimate Edition) 前端技术 基础:html+css+JavaScript 框架: JQuery + Bootstrap 后端技术 JSP+Servlet 数据库连接池:c3p0 数据库:mysql 5.7.27(个人测试使用) jdk版本:1.8.0_251(个人测试使用) web服务器:maven插件maven-jetty-plugin 6.1.7 项目构建:Maven 3.6.3(个人测试使用) 本地运行 若有疑惑可查看 视频版本 。 1.下载zip直接解压或安装git后执行克隆命令 git clone https://gitee.com/sunnyandgood/OnlineMusic.git 2.使用idea打开项目,配置maven、jdk即可。 3.打开Navicat For Mysql,创建 onlinemusic 数据库,并运行 onlinemusic.sql 。 4.修改

activemq 主从 高可用配置 加 topic 持久化

耗尽温柔 提交于 2020-08-14 05:55:22
activemq 主从 高可用配置 加 topic 持久化 参考文档: https://blog.csdn.net/wangaiheng/article/details/79962218 https://www.cnblogs.com/nm666/p/10427622.html zookeeper 安装zookeeper 配置zookeeper # The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=/data/zookeeper/data dataLogDir=/data/zookeeper/log # the

JVM活学活用——优化SpringBoot

半腔热情 提交于 2020-08-12 10:46:25
介绍 在SpringBoot的Web项目中,默认采用的是内置Tomcat,当然也可以配置支持内置的jetty,内置有什么好处呢? 1. 方便微服务部署。 2. 方便项目启动,不需要下载Tomcat或者Jetty 针对目前的容器优化,目前来说没有太多地方,需要考虑如下几个点 线程数 超时时间 jvm优化 针对上述的优化点来说,首先线程数是一个重点,初始线程数和最大线程数,初始线程数保障启动的时候,如果有大量用户访问,能够很稳定的接受请求, 而最大线程数量用来保证系统的稳定性,而超时时间用来保障连接数不容易被压垮,如果大批量的请求过来,延迟比较高,不容易把线程打满。这种情况在生产中是比较常见的 一旦网络不稳定,宁愿丢包也不愿意把机器压垮。 jvm优化一般来说没有太多场景,无非就是加大初始的堆,和最大限制堆,当然也不是无限增大,根据的情况进快速开始 在spring boot配置文件中application.yml,添加以下配置 server : tomcat : min - spare - threads : 20 max - threads : 100 connection - timeout : 5000 这块对tomcat进行了一个优化配置,最大线程数是100,初始化线程是20,超时时间是5000ms Jvm优化 这块主要不是谈如何优化,jvm优化是一个需要场景化的