Tomcat

查找问题总结

半腔热情 提交于 2020-10-02 20:33:34
一、联调总结 Springboot框架下的丁丁项目 设置断点后,重新debug一下。 哪一个方法出现问题,从controller中进相应的service,然后从service中进到mapper中, 在从mapper进到resource相应的mapper.xml,找到对哪个数据库的操作,找到数据库。 联调时,buid成war包,用tomcat运行,可以省去需要开着项目的麻烦。 二、前后台寻找bug总结 Springboot框架下的丁丁项目 首先寻找问题是出在前端还是后台。在f12模式下,看前端与后台的调用,若未出现调用但出现了问题,那么十有八九是前端的问题。 若是后台的问题那么需要对物理结构-方法流程图-逻辑流程图-数据流程图上进行梳理。 来源: oschina 链接: https://my.oschina.net/u/4283847/blog/4503829

你知道什么是 Restful 风格吗?SpringMVC 带我们实现它!

让人想犯罪 __ 提交于 2020-10-02 14:17:33
Restful 风格的 API 是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和 约束条件 。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。 在 Restful 风格中,用户请求的 url 使用同一个 url 而用请求方式:get,post,delete,put...等方式对请求的处理方法进行区分,这样可以在前后台分离式的开发中使得前端开发人员不会对请求的资源地址产生混淆和大量的检查方法名的麻烦,形成一个统一的接口。 SpringMVC Restful 风格 url 配置实现的方式 SpringMVC 的 resturl 是通过 @RequestMapping 及 @PathVariable annotation 提供的,通过如 @RequestMapping(value="/blog /{id}",method=RequestMethod.DELETE) 即可处理 /blog/1 的 delete 请求。 GET(SELECT):从服务器查询,可以在服务器通过请求的参数区分查询的 方式。 POST(CREATE):在服务器端新建一个资源,调用 insert 操作。 PUT(UPDATE):在服务器端更新资源,调用 update 操作。 PATCH(UPDATE):在服务器端更新资源(客户端提供改变的属性)。

java程序猿进阶提升,薪资翻倍就靠TA了

回眸只為那壹抹淺笑 提交于 2020-10-02 12:35:24
Java程序员想要进阶成功,就应该重视这几点 : 吃透基础技术 养成良好的阅读源码的习惯 有长期的技术学习规划 下面,我们来一起逐条看看,特别是第 3 个方法 。 想要做到年薪50万,首先你自己必须是高水平的程序员 能年薪50万的程序员至少自身有以下特征 : 工作年限长,经验丰富 他们的共同特点是 :10 年以上的工作经验,在大公司当过螺丝钉,也在创业公司做过技术 leader,有过一两段不算成功的创业经历。 这样的程序员无论是去 BAT 还是去创业公司,都能拿到 50 万年薪以上的 offer。 虽然前面说技术水平不是决定薪水的唯一因素,但如果技术牛到一定程度,高薪 offer 也是探囊取物! 另外,光你自己厉害,技术牛也不行 程序员,在中国又被戏称为“程序猿”、“码农”,是一群有鲜明标签特色的人物。 很多文章在描述程序员的时候,常常会给其画一幅肖像:一副黑框眼镜,身上格子衬衫,背后 一个黑色双肩包,耳边戴着一副耳机 。 这就是典型的IT男,或者程序员在大众心目中的形象 。 为何同样是程序员有些猿的工资那么高,他们的技术栈是什么样的呢、或者说他们又拥有什么样几技术能力和学习规 划? 一、 Spring、MyBits源码 IOC容器设计原理及高级特性 AOP设计原理 FactoryBean与BeanFactory Spring事务处理机制 基于SpringJDBC手写ORM框架

Keepalived高可用环境搭建

二次信任 提交于 2020-10-02 09:43:33
1.Keepalived高可用软件 Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,keepalived除了能够管理LVS软件外,还可以作为其他服务的高可用解决方案软件。 keepalived软件主要是通过VRRP协议实现高可用功能的。VRRP是Virtual Router Redundancy Protocol(虚拟路由冗余协议)的缩写,VRRP出现的目的就是为了解决静态路由的单点故障问题的,它能保证当个别节点宕机时,整个网络可以不间断地运行。所以,keepalived一方面具有配置管理LVS的功能,同时还具有对LVS下面节点进行健康检查的功能,另一方面也可以实现系统网络服务的高可用功能。 2.Keepalived高可用故障切换转移原理 Keepalived高可用服务对之间的故障切换转移,是通过VRRP来实现的。在keepalived服务工作时,主Master节点会不断地向备节点发送(多播的方式)心跳消息,用来告诉备Backup节点自己还活着。当主节点发生故障时,就无法发送心跳的消息了,备节点也因此无法继续检测到来自主节点的心跳了。于是就会调用自身的接管程序,接管主节点的IP资源和服务。当主节点恢复时,备节点又会释放主节点故障时自身接管的IP资源和服务

『互联网架构』软件架构-jenkins搭建和 maven gitlab自动化部署流程(上)(五)

僤鯓⒐⒋嵵緔 提交于 2020-10-02 08:50:28
几年前没用过jenkins的时候,每次都需要用eclipse打个war包,然后小心翼翼的上传到服务器,给服务器原有的war包改个名字,mv到bak目录中,停止服务,删除原有的webapps的项目,再把新上传的war包放进到tomcat的webapp说的目录下,启动项目。每次改个html的标签的名字都需要重新上传,每次都是这么繁琐的操作。其实小公司还可以容忍,如果是比较大的项目,还持续停留在这个脚本上运维人员都累死了,因为有可能一次部署几十个项目。源码: https://github.com/limingios/netFuture/tree/master/jenkins/ysource/idig8 jenkins 历史 Hudson是在2004年的夏天由Sun公司开发 2005年2月开源并发布了第一个版本。 Hudson发布的时候CruiseControl是CI界的老大哥,但是很快,在大约2007年的时候Hudson已经超越CruiseControl。2008年5月的JavaOne大会上,Hudson获得了开发解决方案类的Duke's Choice奖项。从此,小弟翻身做大哥,Hudson成为CI的代名词。 2010年9月,乌龟壳公司偷偷把Hudson®™变成了注册商标。2010年11月,Hudson社区的核心开发人员发现并angry了,双方进行了不太友好的会谈,不出意料的谈崩了

Spring Boot Admin:微服务应用监控

给你一囗甜甜゛ 提交于 2020-10-02 06:57:00
Spring Boot Admin:微服务应用监控 SpringBoot实战电商项目mall(20k+star)地址: github.com/macrozheng/… 摘要 Spring Boot Admin 可以对SpringBoot应用的各项指标进行监控,可以作为微服务架构中的监控中心来使用,本文将对其用法进行详细介绍。 Spring Boot Admin 简介 SpringBoot应用可以通过Actuator来暴露应用运行过程中的各项指标,Spring Boot Admin通过这些指标来监控SpringBoot应用,然后通过图形化界面呈现出来。Spring Boot Admin不仅可以监控单体应用,还可以和Spring Cloud的注册中心相结合来监控微服务应用。 Spring Boot Admin 可以提供应用的以下监控信息: 监控应用运行过程中的概览信息; 度量指标信息,比如JVM、Tomcat及进程信息; 环境变量信息,比如系统属性、系统环境变量以及应用配置信息; 查看所有创建的Bean信息; 查看应用中的所有配置信息; 查看应用运行日志信息; 查看JVM信息; 查看可以访问的Web端点; 查看HTTP跟踪信息。 创建admin-server模块 这里我们创建一个admin-server模块来作为监控中心演示其功能。 在pom.xml中添加相关依赖: <

有内味了!阿里内部Tomcat高阶调优笔记成功刷新了我的认知

不想你离开。 提交于 2020-10-02 06:05:27
Tomcat Tomcat服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是 开发和调试Servlet、JSP 程序的首选 。 除此之外,Apache Tomcat还可以很容易与Apache Http Server.Nginx等知名的Web服务器集成,以实现负载均衡和集群化部署。现在已经被广泛用于开发、测试环境,甚至大规模、高并发的互联网产品部署。 目前用Tomcat的人以及对Tomcat 架构感兴趣的技术人员越来越多。小编最开始接触Tomcat的时候连它的两大组件Connector与Container都搞不清楚( 是菜了点,勿喷 )。 目前讲Tomcat的资料五花八门,但真正真实地、系统性地讲解到Tomcat的最新架构的资料却是少之又少,而下面这份Alibaba技术官在Github上甩出的Tomcat内部手册却真正刷新了我的认知。 它涉及了Tomcat的代码设计,却不仅仅是围绕代码进行分析。它涉及了Tomcat的使用方式,却不仅仅是对其配置方式进行简单说明。 对于每个技术点相关的规范、方案的考量及隐含问题、如何使用等,点进行了系统的阐述。 这份文档主要从三个方面来解析Tomcat 基本设计 架构及工作原理 各个模块的特性及使用方式 章节划分如下,大家可以根据自己的背景和兴趣挑选相应的章节进行学习。 由于这份文档将近400页

063. 使用 Dockerfile 运行一个简单的 Java 程序

大兔子大兔子 提交于 2020-10-02 05:28:36
准备一个没有第三方依赖的 java web 项目。 把该 war 包上传到安装有 docker 软件的服务器上宿主目录下。在同级目录下创建 Dockerfile。 编写 Dockerfile 文件内容。 # 基础镜像使用 tomcat:7.0.88-jre8 FROM tomcat:7.0.88-jre8 # 作者 MAINTAINER zp <zp@test.com> # 定义环境变量 ENV TOMCAT_BASE /usr/local/tomcat # 复制 war 包 COPY ./session-web.war $TOMCAT_BASE/webapps/ 执行构建 docker build -t test-web:latest . 如果构建成功,则会显示构建的分层信息及结果。 构建成功后使用 docker images 命令查看本地是否有该镜像。 运行镜像 docker run --name test-web -d -p 8888:8080 test-web:latest 启动后使用 netstat -an | grep 8888 验证端口是否是在监听状态。 来源: oschina 链接: https://my.oschina.net/shadowolf/blog/4566130

亿级流量系统如何玩转 JVM

梦想与她 提交于 2020-10-02 02:29:43
本文转载自微信公众号「Shooter茶杯」,作者Shooter。转载本文请联系Shooter茶杯公众号。 抱歉很久没写新文章了 , 这段时间一直在学习扩大自己的知识盲区 , 工作上也挺忙的 , 拖更了好久 答应了朋友要出个 JVM 系列 , 应该会有几篇文章 , 我会努力在保证质量的前提下进行输出~ So 进入今天的主题 前言 有被 JVM 相关问题刁难过吗? 上个月朋友去面某东说被 JVM 难哭了 面试官上来就是素质三连: 有没有 高并发项目经验、频繁 gc 怎么解决、有没有搞过 JVM 调优 我那个朋友公司做的是 to b 方向 , 系统流量不是很大 , 加上才工作 2 年直接被问懵逼 回来就问我高并发系统怎么玩 , 为了避免重复劳动 , 遂有此文~ 一、亿级流量系统回顾 接下来做个回顾: OTA 平台 4亿 用户 高峰期 百万 订单 高峰期 12 小时 1.8亿 访问量 每小时的流量是:1.8亿 / 12 = 1250w 每分的流量是:1250w / 60 = 20.8w 每秒的流量是:20.8w / 60 = 3472 2 个集群 32 台 8C/16G 的机器 一次核心接口查询平均占用 5mb 内存 每秒钟 JVM 会有 550mb 的新生代堆内存空间被占用 二、系统的 JVM 参数 基于G1垃圾收集器 这里我截取了这个服务生产环境的 JVM 参数: -Xmx12288m