Tomcat

springboot知识

耗尽温柔 提交于 2020-08-09 21:36:16
spring boot quick start 在spring boot里,很吸引人的一个特性是可以直接把应用打包成为一个jar/war,然后这个jar/war是可以直接启动的,不需要另外配置一个Web Server。 如果之前没有使用过spring boot可以通过下面的demo来感受下。 下面以这个工程为例,演示如何启动Spring boot项目: git clone git@github.com:hengyunabc/spring-boot-demo.git mvn spring-boot-demo java -jar target/demo-0.0.1-SNAPSHOT.jar123 如果使用的IDE是spring sts或者idea,可以通过向导来创建spring boot项目。 也可以参考官方教程: http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#getting-started-first-application 对spring boot的两个疑问 刚开始接触spring boot时,通常会有这些疑问 spring boot如何启动的? spring boot embed tomcat是如何工作的? 静态文件,jsp,网页模板这些是如何加载到的?

2.2.2 EndPoint Acceptor组件

拥有回忆 提交于 2020-08-09 21:11:03
#startAcceptorThreads protected void startAcceptorThreads() { int count = this.getAcceptorThreadCount(); this.acceptors = new ArrayList(count); for(int i = 0; i < count; ++i) { Acceptor<U> acceptor = new Acceptor(this); String threadName = this.getName() + "-Acceptor-" + i; acceptor.setThreadName(threadName); this.acceptors.add(acceptor); Thread t = new Thread(acceptor, threadName); t.setPriority(this.getAcceptorThreadPriority()); t.setDaemon(this.getDaemon()); t.start(); } } 默认count protected int acceptorThreadCount = 1; Acceptor 看名字是接收器的意思 应该是HTTP请求的接受处理组件 看源码 和 Poller一样 是个runable public

关于tomcat不同版本的maxPostSize配置差异

我只是一个虾纸丫 提交于 2020-08-09 20:44:02
Tomcat7.0.63之前 : maxPostSize The maximum size in bytes of the POST which will be handled by the container FORM URL parameter parsing. The limit can be disabled by setting this attribute to a value less than or equal to 0. If not specified, this attribute is set to 2097152 (2 megabytes). 设置为0和负数均可以代表不限制 Tomcat7.0.63(包含)之后 : maxPostSize The maximum size in bytes of the POST which will be handled by the container FORM URL parameter parsing. The limit can be disabled by setting this attribute to a value less than zero. If not specified, this attribute is set to 2097152 (2 megabytes / 2 MB ).

dubbo+zookeeper

瘦欲@ 提交于 2020-08-09 20:36:20
Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC(一种远程调用) 分布式服务框架(SOA),致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案 ZooKeeper是一个 分布式 的,开放源码的 分布式应用程序 协调服务,是 Google 的Chubby一个 开源 的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等 实验环境 centos6.5_x64 实验软件 jdk-8u152-linux-x64.tar.gz apache-tomcat-8.5.24.tar.gz dubbo-admin-2.6.0.war zookeeper-3.4.11.tar.gz 软件安装 cp -pv /etc/hosts /etc/hosts.bak echo 192.168.10.18 dub1 >> /etc/hosts sed -i.bak 's/centos6/dub1/g' /etc/sysconfig/network sed -i.bak 's/https/http/g' /etc/yum.repos.d/epel.repo service ntpd restart && ntpdate 192.168.10.18 && clock -w echo SELINUX

WeBank/we-cmdb

此生再无相见时 提交于 2020-08-09 20:07:40
WeCMDB 中文 / English 试用链接 点此试用WeCMDB 功能演示 引言 在IT运维领域中,CMDB信息的准确性和完整性一直是行业内公认的挑战。如何保证企业的IT信息从物理层,到逻辑层,到应用层以及其关系信息被准确记录,以及如何利用CMDB的信息完成各种复杂的IT运维流程,甚至实现自动化、智能化,CMDB已成为IT运维可正常开展的基石。随着云计算和互联网业务高速发展,IT资源信息成几何级增加。如何管理日益增长的IT数据,拥有一套强大的CMDB系统显得尤为重要。 起源 WeCMDB(Configuration Management Database 配置管理数据库),是源自微众银行运维管理实践的的一套配置管理数据库系统。为高效支撑海量用户和巨量数据的互联网应用, 分布式架构被广泛采用于支撑当前的系统,然而分布式架构同时也刷新了运维管理的要求。相对于传统架构,分布式架构给IT基础架构带来了三个变化:海量的服务器、频繁的滚动发布、和复杂的服务间依赖关系。 由此带来的运维问题快速推动了DevOps工具的发展,以及智能运维管理理念的变化。 CMDB,作为运维工具的核心,提供了全体系IT信息唯一数据源,是IT运维自动化、智能化的基础和前提条件。依赖可靠的CMDB,IT信息从物理层(数据中心、机架机位、服务器、网络信息等), 到逻辑层(IP、系统架构信息),到应用层

远程教育平台 BigBlueButton

我的未来我决定 提交于 2020-08-09 20:01:52
远程教育平台 BigBlueButton BigBlueButton 是一个使用 ActionScript 开发的在线视频会议系统或者是远程教育系统,主要功能包括在线PPT演示、视频交流和语音交流,还可以进行文字交流、举手发言等功能,特别适合用在网上教学,支持中文等多种语音。 界面非常漂亮: 服务器端用到的项目包括有 ActiveMQ 、 Asterisk 、 Nginx 、 Tomcat 等 在线演示 在线视频介绍 来源: oschina 链接: https://my.oschina.net/u/4338498/blog/4279023

一个不合理的 JVM 参数设置引发的一场线上惨案。。。

南楼画角 提交于 2020-08-09 19:54:27
凌晨3点,一阵急促的铃声把老王惊醒。。。 “老大,线上系统好像出问题了,频繁Full GC,系统一直处于卡顿状态。。。” 听到Full GC的那一刻,老王就已睡意全无,他知道,马上又要看到凌晨3点的北京了。 “小猛,先别着急,你和彪子先去线上看看GC日志,我这边马上赶到!” 想想自己的年终奖、KPI,看着自己熟睡的儿子,老王哪敢怠慢,匆匆穿上衣服,一头扎进北京初冬的寒风中。。。 一小时后,某创业公司。。。 空荡荡的写字楼灯火通明,两个年轻的工程师正在紧张的操作,时不时的交头接耳。 老王快步向前,也顾不得跟两个小弟打招呼,连忙问道:现在情况怎么样? “还是跟之前一样,频繁Full GC,系统卡死。。。”,小猛和彪子不敢隐瞒,马上把情况报告给老大 查看 JVM GC 日志 没有一丝耽搁,老王立刻调出了线上GC日志,在日志里,看到了一个“ Metadata GC Threshold ”的字样,类似于如下日志: 【Full GC(Metadata GC Threshold)xxxxx, xxxxx】 通过GC日志,老王立即定位到这次频繁的Full GC,实际上是JDK 1.8以后的 Metadata元数据区 导致的。 奇怪了,Metadata区域一般是放一些加载到JVM里去的类,为什么会被频繁的塞满,进而触发Full GC呢? 老王陷入了沉思,一旁的小猛和彪子只是静静的看着,大气也不敢出。

Docker配置Tomcat, Nginx

ぃ、小莉子 提交于 2020-08-09 19:47:42
配置Tomcat mkdir -p /docker/tomcat/admin/webapps mkdir -p /docker/tomcat/admin/conf # /docker/tomcat/admin/conf/context.xml 从tomcat中复制过来的 mkdir -p /docker/tomcat/admin/logs # mkdir -p /docker/tomcat/student/ # docker pull tomcat:jdk11-openjdk docker run -d -p 8087:8080 \ --name tomcat-admin \ -v /docker/tomcat/admin/webapps:/usr/local/tomcat/webapps \ -v /docker/tomcat/admin/conf/context.xml:/usr/local/tomcat/conf/context.xml \ -v /docker/tomcat/admin/logs:/usr/local/tomcat/logs \ --privileged=true \ #权限 --net mysql_net \ --ip 172.25.0.87 \ --link mysql_master:db_master \ #连接mysql_master容器

开源视频会议bigbluebutton开发(3)——架构体系图

ε祈祈猫儿з 提交于 2020-08-09 18:03:02
开源视频会议bigbluebutton开发(3)——架构体系图 体系结构概述 bbb使用nginx(engine x)作为代理服务器将请求发送给bbb客户端,tomcat6调用api,支持当客户端连接使用RTMPT(port 80, RTMPT 协议是HTTP协议的扩展,Adobe的Flash Player和media server支持。RTMPT的命令基本都是用来控制网络连接的持久性的。)代替RTMP(port 1935,RTMP 全称Routing Table Maintenance Protocol(路由选择表维护协议) 在 AppleTalk 协议组中,路由选择表维护协议(RTMP,Routing Table Protocol)是一种传输层协议,它在 AppleTalk 路由器中建立并维护路由选择表。)时支持http通道! 1,Ngnix代理bbb-web和bbb-aps来支持RTMPT服务bbb-client! 2,Grails应用负责操作创建会议和调度,同时负责加入会议登进登出! 3,负责将pdf资料转换成flash! 4,当SWFTools无法进行转换时,负责将pdf演示文档转换成flash,当然,会生成缩略图! 5,bbb-web与bbb-apps之间的信息通道! 6,red5负责同步会议的各个参与者! 7,负责监听用户的事件,如进入或者离开会议

Docker中级篇|深入探究Docker

*爱你&永不变心* 提交于 2020-08-09 17:58:34
简介: 深入探究Docker Docker镜像理解 Docker镜像是什么 镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时库、环境变量和配置文件 Docker镜像加载原理 UnionFs:联合文件系统 UnionFs(联合文件系统):Union文件系统(UnionFs)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下,UnionFs联合文件系统是Docker镜像的基础,镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像特性:一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录 Docker镜像加载原理 Docker的镜像实际上由一层一层的UnionFs文件系统组成bootfs:主要包含 bootloader和 Kernel,bootloader主要是引导加 kernel,Linux刚启动时会加bootfs文件系统,在 Docker镜像的最底层是bootfs,这一层与我们典型的Linux/Unix系统是一样的,包含bootfs加载器和内核,当bootfs加载完成之后整个内核就都在内存中了