TongWeb7微服务适配方案
先介绍一下我们微服务项目的部署情况:
之前使用的是内置的Tomcat容器部署方式,运行项目使用的
java -jar 项目文件
方式,然后使用k8s+docker容器化部署。
还没了解TongWeb部署的同学们,可以看看我前面写的几个关于TongWeb本地部署的文章。
本地TongWeb7部署web(SpringCloud)项目(Windows)
TongWeb7本地部署(Windows)
TongWeb7有很多版本
上面的版本,我都试过了,对于容器化部署很不友好,一个容器应用需要消耗2G左右的内容。
容器化部署企业版
容器化部署企业版+项目应用
问了客服
中间还让商务要了,微服务版本的(是把一些容器化的操作继承进去,比如构建docker镜像,这些操作我们都是预先做好的,用不到这些功能,启动的内存消耗和企业版相差不多,也不符合我们的情况)
加上自身应用内存,一个简单的微服务就需要消耗2G左右的内存(PS:我们原来部署方式一个简单的微服务应用,只需要分配cpu: 300m, memory: 1Gi),如果按照这种部署方式,我们的服务成本直接翻倍了,而且也不符合我们微服务中微的概念。
后面了解到,还有一个版本,内嵌版,最后我们采用的也是这个版本。
启动的内存消耗和CPU占用,和我们原来的部署方式差不多。
判断是嵌入式启动的tongweb启动
部署起来也很简单,替换tomcat内置的相关jar即可。
还有一个需要注意的,授权文件的配置
我们这边直接采用,通过挂载的方式,配置环境参数。
env:- name: server.tongweb.license.pathvalue: '/opt/saas/license/license.dat'
附上我们的yaml文件提供给大家参考下(我删减掉一些关于我们项目的内容)
apiVersion: apps/v1
kind: Deployment
metadata:namespace: xxxlabels:app: xxx-tongweb-servername: xxx-tongweb-serverannotations:kubesphere.io/description: tongweb内嵌式测试启动副本kubesphere.io/alias-name: tongweb
spec:replicas: 1selector:matchLabels:app: xxx-tongweb-servertemplate:metadata:labels:app: xxx-tongweb-serverspec:volumes:- name: sourceemptyDir: {}- name: log4j2configMap:name: saas-envitems:- key: log4j2-spring.xmlpath: log4j2-spring.xml- name: licenseconfigMap:name: saas-envitems:- key: license.datpath: license.dat initContainers:- name: container-xxx-server-init-artifactimage: 'xxx.xx.xxx.xxx:xxxx/xxx-server'command:- shargs:- '-c'- cp /opt/xxxx-server.war /source/resources: {}volumeMounts:- name: sourcemountPath: /source/terminationMessagePath: /dev/termination-logterminationMessagePolicy: FileimagePullPolicy: Alwayscontainers:- name: container-xxx-serverimage: 'xxx.xx.xxx.xx:7005/xxx/tongweb:7-xxxxx-test'command:- shargs:- '-c'- >-rm -rf /opt/saas/lib/spring-boot-starter-tomcat-2.2.5.RELEASE.jar && rm -rf /opt/saas/lib/tomcat-embed-core-9.0.31.jar &&rm -rf /opt/saas/lib/tomcat-embed-el-9.0.31.jar &&rm -rf /opt/saas/lib/tomcat-embed-websocket-9.0.31.jar &&cp -r /opt/tongweb/* /opt/saas/lib/ &&cd /opt/saas && tini -- java -cp xxx-server.war-Dloader.path=xxx-server.war!/WEB-INF/classes/,xxx-server.war!/WEB-INF/,lib/-Dserver.port=8080 -Ddebug=false -Dfile.encoding=utf-8ports:- name: http-8080containerPort: 8080protocol: TCPenv:- name: server.tongweb.license.pathvalue: '/opt/saas/license/license.dat' - name: LOG4J_CONFIGURATION_FILEvalue: /opt/saas/log/log4j2-spring.xml resources:limits:cpu: 300mmemory: 1Girequests:cpu: 200mmemory: 512MivolumeMounts:- name: sourcemountPath: /opt/saas/- name: log4j2mountPath: /opt/saas/log/- name: licensemountPath: /opt/saas/license/terminationMessagePath: /dev/termination-logterminationMessagePolicy: FileimagePullPolicy: IfNotPresentrestartPolicy: AlwaysterminationGracePeriodSeconds: 30dnsPolicy: ClusterFirstserviceAccountName: defaultserviceAccount: defaultsecurityContext: {}imagePullSecrets:- name: nontax3-docker-hostschedulerName: default-schedulerstrategy:type: RollingUpdaterollingUpdate:maxUnavailable: 25%maxSurge: 25%
博主新推出的gitee免费开源项目(商城+APP+小程序+H5),有兴趣的小伙伴可以了解一下。
生鲜商城kxmall-小程序 + App + 公众号H5: kxmall-生鲜商城+APP+小程序+H5。同时支持微信小程序、H5、安卓App、苹果App。支持集群部署,单机部署。可用于B2C商城,O2O外卖,社区超市,生鲜【带配套骑手端配送系统】。kxmall使用uniapp编码。使用Java开发,SpringBoot 2.1.x框架,MyBatis-plus持久层框架、Redis作为缓存、MySql作为数据库。前端vuejs作为开发语言。https://gitee.com/zhengkaixing/kxmall
- 阿里云服务器折扣场:点我进入
- 腾讯云服务器秒杀场:点我进入
- 淘宝优惠券专场:====点我进入====
TongWeb7微服务适配方案相关推荐
- 微服务架构方案 springBoot+dubbo
微服务架构方案 使用到的相关技术如下: 基础框架:springBoot+springGateway+dubbo+mybatisPlus 中间件:nginx+rabbitMq+redis 存储:mysq ...
- 几种常见的微服务架构方案简述——ZeroC IceGrid、Spring Cloud、基于消息队列
微服务架构是当前很热门的一个概念,它不是凭空产生的,是技术发展的必然结果.虽然微服务架构没有公认的技术标准和规范草案,但业界已经有一些很有影响力的开源微服务架构平台,架构师可以根据公司的技术实力并结合 ...
- Spring Security系列(10)- 微服务权限方案及Oauth2介绍
微服务 什么是微服务 微服务由来 微服务最早由 Martin Fowler 与 James Lewis 于 2014 年共同提出,微服务架构风格是一种使用一套小服务来开发单个应用的方式途径,每个服务运 ...
- SpringCloud 微服务监控方案sentinel + spring boot admin
SpringCloud 微服务监控方案sentinel + spring boot admin 前言:项目基于springcloud框架,服务注册中心使用的是Eureka spring boot ad ...
- 微服务技术方案:Spring Cloud 从入门到实战
随着互联网技术的发展与不断创新,以及用户流量的不断增大,越来越多的企业项目面临大数据.高并发等问题,随之而来的就是通过分布式模型组建架构,微服务思想就集中体现了应用价值,2020 年的你还没有掌握微服 ...
- 微服务怎么部署到服务器的_浅谈微服务部署方案
在项目迭代的过程中,不可避免需要"上线".上线对应着部署,或者重新部署:部署对应着修改:修改则意味着风险. 微服务目前有很多用于部署的技术,有的简单,有的复杂:有的得停机,有的不需 ...
- 最牛逼的微服务架构方案,没有之一!
在早些年,国内互联网公司盛行采用 Dubbo 来架构微服务.如今,有了更好的选择,那就是 Spring Cloud.有数据显示,Spring Cloud不管是在国内,还是国外,用户数都呈现出爆发式增长 ...
- JeecgBoot 单体升级微服务快速方案(十分钟搞定)
JeecgBoot 单体升级微服务方案(十分钟搞定) 当前系统分为system.demo 等模块,现有需求把每个模块单独启动作为微服务应用,故而推出新版boot[20200812beta],支持快速切 ...
- 微服务Token方案之ORY Hydra授权中心_Java实现
前言 网上微服务token流程的案例有很多,但是关于hydra的资料却少之又少,本文主要讲解hydra使用Oauth2.0授权码模式(authorization code)获取令牌token流程,如果 ...
最新文章
- BZOJ 3105:[cqoi2013]新Nim游戏
- mysql io模型_5种网络IO模型
- verycd重整——linux教程
- 设计模式之:适配器模式
- 移动网页设计9大原则——第1部分
- 2016级算法期末上机-F.中等·AlvinZH's Fight with DDLs II
- TCP/IP总结(3)数据包
- 【Python】8000字概括精髓,pandas必知必会50例
- 温州大学《深度学习》课程课件(七、卷积神经网络基础)
- python大神作品_掌握了这24个顶级Python库,你就是大神!
- LiveVideoStack线上分享第五季(五):用FFmpeg搭建基于CNN的视频分析方案
- hive中任意相邻时间段数据获取
- Windows用户安全小技巧
- php 提取字的首字母,PHP提取中文首字母_php技巧
- 电子电路分析与设计:数字电子技术_红外气体传感器电子电路设计
- 可依简易无需数据库影视源码
- 系统规划与管理师——IT服务规划设计
- 如何设置无线路由器?
- linux 限速命令,linux上传限速脚本介绍
- K.function的用法