Tomcat

Centos7安装dubbo与zookeeper服务配置

天涯浪子 提交于 2020-12-17 06:27:40
目录 环境: 第一步:安装jdk,并且配置环境变量 1.解压jdk: 2.配置环境变量: 3.保存并使文件立即生效: 4.立即重启虚拟机,进行下面的安装 第二步:安装注册中心zookeeper 1.解压zookeeper: 2.在zookeeper目录下创建data和logs目录: 3.将/usr/local/zookeeper3.4.6/zookeeper-3.4.6/conf 目录下的 zoo_sample.cfg拷贝: 4.修改配置文件: ​ 5.在vi /etc/profile末尾添加zookeeper配置 6.配置文件立即生效: 7.关闭防火墙,并且启动测试 第三步:安装dubbo-admin-war和tomcat 1.解压tomcat: 2.解压dubbo文件 3.进入tomcat的conf目录下修改server.xml 4.修改server.xml 5.启动tomcat服务,进入tomcat的bin下 6.启动zookeeper服务,进入zookeeper的bin下 第四步:在浏览器中输入地址显示如下: 环境: 1.centos7 2.jdk-7u76-linux-x64.tar.gz 2.tomcat:apache-tomcat-7.0.59.tar.gz 3.zookeeper-3.4.6.tar.gz 4.dubbo-admin-2.5.3.war 具体的流程:

记一次 Kafka Producer 性能调优实战

旧时模样 提交于 2020-12-17 01:28:14
最近,遇到某个集群的生产端发送延迟特别高,而且吞吐量上不去,检查集群负载却很低,且集群机器配置非常好,网络带宽也很大,于是使用 Kafka 压测脚本进行了压测。 昨天凌晨,在生产环境进行实战调优,经过不断参数改动,现将生产者相关参数设置为以下配置: linger.ms=50 batch.size=524288 compression.type=lz4 acks=1(用户要求消息至少要发送到分区 leader) max.request.size=5242880 buffer.memory=268435456 在生产环境的一台服务器上,使用以上参数对集群进行生产发送性能压测: 从上图可以看到,使用平均 4k 大小的消息体对集群进行压测, 单个 Producer 平均吞吐量达到 2000MB/s,50w/s+ ! 作为对比,我还是使用同一台服务器,将调优参数去掉,再压一遍: 可以看到,最高的吞吐量也不过 500M/s,最低已经来到 2M/s 了。 虽然说实际客户端环境比压测环境复杂很多,但是使用压测工具已经能够证明,该集群的负载目前现在还远远没有达到瓶颈,且生产端还有待优化。 以上参数调优思想是: 1、buffer.memory=268435456 由于发送端发送频率非常快,加上由于 Spark 客户端频繁断开连接导致生产端 Sender 线程发送延迟增高,这就会造成客户端发送速率 >

SpringBoot非官方教程 | 第一篇:构建第一个SpringBoot工程

你说的曾经没有我的故事 提交于 2020-12-17 01:18:55
spring boot 它的设计目的就是为例简化开发,开启了各种自动装配,你不想写各种配置文件,引入相关的依赖就能迅速搭建起一个web工程。它采用的是建立生产就绪的应用程序观点,优先于配置的惯例。 可能你有很多理由不放弃SSM,SSH,但是当你一旦使用了springboot ,你会觉得一切变得简单了,配置变的简单了、编码变的简单了,部署变的简单了,感觉自己健步如飞,开发速度大大提高了。就好比,当你用了IDEA,你会觉得再也回不到Eclipse时代一样。另,本系列教程全部用的IDEA作为开发工具。 你需要: 15分钟 jdk 1.8或以上 maven 3.0+ Idea 打开Idea-> new Project ->Spring Initializr ->填写group、artifact ->钩上web(开启web功能)->点下一步就行了。 创建完工程,工程的目录结构如下: pom文件为基本的依赖管理文件 resouces 资源文件SpringbootApplication程序的入口。 statics 静态资源 templates 模板资源 application.yml 配置文件 pom.xml的依赖: 其中spring-boot-starter-web不仅包含spring-boot-starter,还自动开启了web功能。 说了这么多,你可能还体会不到,举个栗子

jar包和war包的区别:

我怕爱的太早我们不能终老 提交于 2020-12-16 21:44:00
jar包和war包的区别: war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块。而jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的. 它们都是压缩的包,拿Tomcat来说,将war文件包放置它的\webapps\目录下,启动Tomcat,这个包可以自动进行解压,也就是你的web目录,相当于发布了。 war包:是做好一个web应用后,通常是网站,打成包部署到容器中。 jar包:通常是开发时要引用通用类,打成包便于存放管理。 ear包:企业级应用,通常是EJB打成ear包。 所有的包都是用jar打的,只不过目标文件的扩展名不一样。 WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的CLASSPATH中

war包与jar包

与世无争的帅哥 提交于 2020-12-16 20:42:54
1.jar包 jar包就是别人已经写好的一些类,然后对这些类进行打包。可以将这些jar包引入到你的项目中,可以直接使用这些jar包中的类和属性,这些jar包一般放在lib目录下。 2.war包 war是一个可以直接运行的web模块,通常用于网站,打成包部署到容器中。以Tomcat来说,将war包放置在其\webapps\目录下,然后启动Tomcat,这个包就会自动解压,就相当于发布了。war包是JavaWeb程序打的包,war包里面包括写的代码编译成的class文件,依赖的包,配置文件,所有的网站页面,包括html,jsp等等。一个war包可以理解为是一个web项目,里面是项目的所有东西。 3.区别:(WAR文件代表了一个Web应用程序,JAR是类的归档文件。) 如果一个Web应用程序的目录和文件非常多,那么将这个Web应用程序部署到另一台机器上,就不是很方便了,这时可以将Web应用程序打包成Web 归档(WAR)文件,这个过程和把Java类文件打包成JAR文件的过程类似。利用WAR文件,可以把Servlet类文件和相关的资源集中在一起进行发布。在这个过程中,Web应用程序就不是按照目录层次结构来进行部署了,而是把WAR文件作为部署单元来使用。 一个WAR文件就是一个Web应用程序,建立WAR文件,就是把整个Web应用程序(不包括Web应用程序层次结构的根目录)压缩起来,指定一个

浅谈项目使用war包和jar包部署的优缺点

前提是你 提交于 2020-12-16 20:01:11
浅谈项目使用war包和jar包部署的优缺点 war 优点 多个项目可共用同一容器,同一个端口 性能调优更方便,仅针对熟悉tomcat的同学,因为jar包在项目配置或启动脚本中也可以调优,具体看项目成员习惯 占用资源少,仅限于多个项目运行同一服务器实例情况下 项目发布可以单独替换某个文件 缺点 需要单独下载部署tomcat,项目产生外部环境依赖 jar 优点 内置容器,无外部依赖,可独立部署 不共用容器,隔离性好 可在项目中配置Tomcat容器或其它容器,项目中也可配置容器相关配置参数 高内聚 方便容器化 缺点 每次修改都需要将所有文件打包 每个项目启动都是单独的容器(严格上讲不能算是缺点) 总结 jar包更适合微服务架构,减少了外部依赖,服务更加内聚,隔离性好,方便容器化部署;war包更适用于垂直架构单体架构,在多个项目公用同一容器情况下,可以节省更多资源。 来源: oschina 链接: https://my.oschina.net/wangshuhui/blog/4810732

Jenkins+Ansible 持续集成与自动发布

安稳与你 提交于 2020-12-16 18:20:46
概述 在CI/CD流程中,项目的可持续迭代,版本回档都是十分重要的环节。而网络资源中看着似乎基于jenkins+ansible发布spring boot/cloud类的jar包程序,或者tomcat下的war包的需求挺多的,闲来无事,也说说自己做过的jenkins基于ansible的发布 。 发布流程 规范与标准 无规矩不成方圆,要做好后期的自动化,标准化是少不了的,下面是我们这边规划的一些标准(非强制,根据自己实际情况调整) 应用名称 : {应用类型}-{端口}-{应用名称} or {类型}-{应用名称} , 例如: web-8080-gateway , app-jobs-platform 主机名称 : {地区}-{机房}-{应用类型}-{代码语言}-{项目分组}-{ip结尾} , 例如: sz-rjy-service-java-foo-14-81 日志路径 : /log/web, 例如: /log/web/web-8080-gateway 代码路径 : /data/, 例如: /data/web-8080-gateway Tomcat安装路径 : /usr/local/tomcat 实例路径 : /usr/local/tomcat/{应用名称} Jenkins job命名 : { 环境 }_{ 项目分组 }_{ 应用名称 },如: TEST_GROUP1_web-8080-nc

Kubernetes 学习11 kubernetes ingress及ingress controller

泪湿孤枕 提交于 2020-12-16 13:58:08
一、上集回顾   1、Service 3种模型:userspace,iptables,ipvs   2、Service类型     ClusterIP,NodePort       NodePort:client -> NodeIP:NodePort -> ClusterIP:ServicePort -> PodIP:containerPort       LoadBalancer       ExternelName     No ClusterIP: Hedless Service       serviceName -> PodIP 二、ingress   1、在客户端访问我们k8s服务时,四层调度器本身是没有办法解除ssl会话的,这就意味着客户端必须与后端服务器(pod)之间直接建立ssl会话,这里还有个显著的问题在于如果调度器在ssl会话建立以后的下一个请求被调度到第二台服务器上那么这个ssl还要重新建立,因此我们只要认为内部网络是安全的那么我们可以把会话在前端调度器上卸载,但是四层调度是不能卸载的,因此我们需要七层的负载均衡机制。因此如果他们是http服务我们又期望构建https,那么我们只需要他在互联网上这个不安全的网络中传输实现https,内网中使用http,因此我们需要使用卸载器,但是我们Service调度时,无论是iptables还是ipvs都只是四层调度

Windows下Tomcat内存占用过高问题跟踪(ProcessExplorer+jstack)

戏子无情 提交于 2020-12-16 08:47:56
一、问题描述   Tomcat下面部署很多个java项目的war包,tomcat启动一段时间后,发现cpu占用过高,整个界面卡死! 二、通过process explorer查看java进程下的线程 process explorer是Windows系统和应用程序监视工具。 process explorer下载: https://technet.microsoft.com/en-us/sysinternals/bb896653/ 下载后直接打开即可: 使用PID为3764的进程,点开javaw.exe进程: 这时候会发现TID为4060(10进制)的线程占用CPU最高,下面找到该进程在项目中的位置。 三、通过jstack把进程下所以的Java线程栈的内容打印出文本中 jstack是java虚拟机自带的一种堆栈跟踪工具,用于生成虚拟机当前时刻的线程快照,包含虚拟机中每一个线程正在执行的方法堆栈的集合,用于定位线程出现长时间停顿的原因,如死锁、死循环、外部资源长时间等待等 在cmd命令里输入:jstack -l 3764 回车: 将4060(TID)十进制转成16进制(在线工具:http://tool.oschina.net/hexconvert/)为fdc; 找到nid=0xfdc,找到后面对应的java类对应的行数,即可定位到问题。 原文出处:https://www.cnblogs

分布式架构演进过程

这一生的挚爱 提交于 2020-12-16 07:06:36
1.基本概念 在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍: 1 :分布式 系统中的多个模块在不同的服务器上部署,即可称为分布式系统,如Tomcat和数据库分别部署在不同的服务器上,或两个相同功能的Tomcat 分别部署在不同的服务器上。 2 :高可用 系统中部分节点失效时,其他节点能够接替它继续提供服务,则可认为系统具有高可用性。 3 :集群 一个特定领域的软件部署在多台服务器上并作为一个整体提供一类服务,这个整体称为集群。如Zookeeper中的Master和Slave分别部署在多台服务 器上,共同组成一个整体提供集中配置服务。在常见的集群中,客户端往往能够连接任意一个节点获得服务,并且当集群中一个节点掉线时,其他节点 往往能够自动的接替它继续提供服务,这时候说明集群具有高可用性。 4 :负载均衡 请求发送到系统时,通过这些方式把请求均匀分发到多个节点上,使系统中每个节点能够均匀的处理请求负载,则可认为系统是负载均衡的。 5 :正向代理和反向代理 系统内部要访问外部网络时,统一通过一个代理服务器把请求转发出去,在外部网络看来就是代理服务器发起的访问,此时代理服务器实现的是正向代理;当外部请求进入系统时,代理服务器把该请求转发到系统中的某台服务器上,对外部请求来说,与之交互的只有代理服务器,此时代理服务器 实现的是反向代理。简单来说