`
weijiewell
  • 浏览: 10272 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

抛弃tomcat容器做微服务

阅读更多

如果JAVA做一个HTTP接口工程,最先想到的是tomcat做容器,用springMVC来做一个标准的J2EE项目,所以tomcat 也就是微服务必须的,我想做微服务,其实我们不是很依赖于J2EE规范,但是好像也没的选择,所以我们必须要忍受以下问题:

1、conf/server.xml 修改配置
2、bin/catalina.sh 修改JAVA_OPTS 性能调优
3、tomcat莫名其妙宕机了
4、一台机器部署多个应用,一个tomcat还是多个?
5、OutOfMemeryException
6、点击启动、坐等tomcat启动
。。。。。等等

废话不多说直接说我写的框架micrboot,就是为解决以上问题,源码在: https://github.com/wwjwell/micrboot

micrboot是什么?

基于netty网络框架,参考SpringMVC的思想,编写的高性能 HTTP服务器开发框架。该框架不遵循J2EE规范,就是简简单单一个socket server 。
架构图:




优点:
设计思想基于springMVC,用法也是跟springMVC很相近,一看就懂,学习成本低。
拦截器、多视图、参数处理
有很多针对接口服务的高级特性。比如多接口合并
秒起
TPS不说超过tomcat(tomcat太耗机器了,几百个线程),但是差别不大,尤其在同压力的条件下,负载比tomcat少2-3倍,同学们可以亲测(回头等我系统学一下性能测试,再发测试报告)
怎么使用?

maven 配置:

    <dependency>
      <groupId>com.zhuanglide</groupId>
      <artifactId>micrboot</artifactId>
      <version>1.0.1</version>
    </dependency>


spring配置:

 <context:component-scan base-package="com.zhuanglide.micrboot.demo.**">
        <!-- 扫描ApiCommand注解 -->
        <context:include-filter type="annotation" expression="com.zhuanglide.micrboot.mvc.annotation.ApiCommand"/>
    </context:component-scan>
    <bean name="server" class="com.zhuanglide.micrboot.ServerConfig">
        <property name="port" value="8080"/> <!-- set port=8080 -->
    </bean>    
    <!-- config server -->
    <bean name="server" class="com.zhuanglide.micrboot.Server">
        <property name="serverConfig" ref="serverConfig"/> <!-- set port=8080 -->
    </bean>


main 函数启动

 public static void main(String[] args) {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:api.xml");
        Server server = context.getBean(Server.class);
        server.start();
    }

 

  • 大小: 90.1 KB
分享到:
评论

相关推荐

    Java WEB 篇八 tomcat 容器是如何创建 servlet 类实例?用到了什么原 理?.xmind

    Java WEB 篇八 tomcat 容器是如何创建 servlet 类实例?用到了什么原 理?

    Tomcat容器

    Tomcat容器,全称为Apache Tomcat,是一款开源且免费的Java Web应用服务器,由Apache软件基金会的Jakarta项目开发和维护。它是实现Java Servlet和JavaServer Pages(JSP)规范的主要容器之一,是Java EE(现更名为...

    Java开发案例-springboot-55-undertow替换默认tomcat容器-源代码+文档.rar

    Java开发案例-springboot-55-undertow替换默认tomcat容器-源代码+文档.rar Java开发案例-springboot-55-undertow替换默认tomcat容器-源代码+文档.rar Java开发案例-springboot-55-undertow替换默认tomcat容器-源代码...

    tomcat容器

    【标题】:“Tomcat容器”是指Apache Tomcat,一个开源且免费的应用服务器,主要用于部署Java Servlet和JavaServer Pages(JSP)应用。Tomcat作为轻量级应用服务器,以其简单易用、性能高效而广受开发者欢迎。 ...

    idea打war包并发布到docker的tomcat容器中

    idea打war包并发布到docker的tomcat容器中,包括打war包步骤和如何将打好的war包发布到docker的tomcat容器中的详细步骤,自己实操后进行的总结。后面还会将如何部署docker进行总结,上传。

    基于redis服务的tomcat容器session共享配置相关jar包

    基于redis服务的tomcat容器session共享配置相关jar包,相关配置可参考:http://blog.csdn.net/tanghaiyang0101/article/details/77600293

    Apache+Tomcat集群

    Apache+Tomcat集群是一种常见的Web服务器和应用服务器集群架构,用于提高网站的可用性和可扩展性。Apache作为前端服务器,负责接收客户端的HTTP请求,并根据配置的负载均衡策略将这些请求转发给后端的多个Tomcat实例...

    SpringBoot切换Tomcat容器,SpringBoot使用Jetty容器

    要切换到Jetty容器,我们需要做以下几步: 1. **移除Tomcat依赖**:在`pom.xml`或`build.gradle`文件中,删除Spring Boot默认引入的Tomcat依赖。对于Maven项目,这通常是`spring-boot-starter-web`中的`spring-boot...

    java 手动实现tomcat容器

    java 手动实现tomcat容器

    docker手动创建tomcat容器且端口映射且磁盘对应

    Docker 手动创建 Tomcat 容器且端口映射且磁盘对应 本文将详细介绍如何使用 Docker 手动创建 Tomcat 容器,并进行端口映射和磁盘对应。 一、创建容器 首先,我们需要使用 Docker 创建一个新的容器。我们可以使用...

    springboot部署到外部tomcat容器.rar

    而Apache Tomcat是一款开源的Web服务器和Servlet容器,广泛用于部署Java Web应用。本资源"springboot部署到外部tomcat容器.rar"显然是关于如何将Spring Boot应用部署到外部的Tomcat服务器上的教程。下面,我们将深入...

    一个项目的SpringBoot微服务改造过程

    相比较于传统的Spring,SpringBoot具有以下优点:部署简单,SpringBoot内置了Tomcat容器,可以将程序直接编译成一个jar,通过java-jar来运行。编码简单,SpringBoot只需要在pom文件中添加一个starter-web依赖,即可...

    Tomcat-8.5.63 (可免费下载学习使用)

    微服务架构:Tomcat 可以作为微服务架构中的一部分,提供轻量级的、可扩展的 Web 服务,与其他微服务进行集成和通信。开发和测试:Tomcat 提供了方便的开发和测试工具,支持对 Java Web 应用程序进行本地开发和调试...

    tomcat8.0服务容器

    【标题】:“Tomcat8.0服务容器” Tomcat8.0是Apache软件基金会的Jakarta项目中的一个核心项目,它是一个开源的、免费的Web应用服务器,特别适合于小型到中型的Java Web应用程序。作为一款轻量级应用服务器,Tomcat...

    64位的tomcat容器

    【标题】"64位的Tomcat容器"指的是专为64位CPU和64位操作系统设计的Apache Tomcat服务器。Tomcat是一款广泛使用的开源Web应用程序容器,特别适合于Java Web应用的部署和运行。这款64位版本的Tomcat在64位环境下能...

    Tomcat容器攻防笔记之隐匿行踪 .pdf

    《Tomcat容器攻防笔记之隐匿行踪》是一篇探讨如何在安全威胁日益严重的背景下,利用技术手段规避Tomcat服务器日志记录,从而达到隐藏攻击者行踪目的的文章。文章作者通过深入研究,旨在揭示在当前网络安全环境中,...

    jenkins-2.402带tomcat容器

    【Jenkins 2.402与Tomcat容器详解】 Jenkins是一款开源的持续集成工具,广泛用于自动化各种任务,包括构建、测试和部署软件。版本2.402是Jenkins的一个稳定版本,提供了丰富的功能和改进。而将Jenkins与Tomcat容器...

    Joker微服务容器

    【Joker微服务容器】是基于Vert.x框架构建的一个轻量级服务容器,它与传统的Tomcat服务器有所不同,旨在提供一种更加灵活、高效且适用于微服务架构的解决方案。Vert.x是一个用于构建分布式系统和现代Web应用程序的...

    详解通过Docker搭建Mysql容器+Tomcat容器连接环境

    本篇文章主要介绍了通过Docker搭建Mysql容器+Tomcat容器连接环境,具有一定的参考价值,有兴趣的可以了解一下。

Global site tag (gtag.js) - Google Analytics