>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring:Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 20631 个阅读者 刷新本主题
 * 贴子主题:  一睹Web服务真面目,有商业价值的Web服务是这样的 回复文章 点赞(0)  收藏  
作者:sunshine    发表时间:2020-03-11 12:25:50     消息  查看  搜索  好友  邮件  复制  引用

    Spring Boot是Java开发时常用框架,有非常丰富的组件和易用的功能。为了满足实际需求,应用于生产的Web项目功能和架构都日趋复杂:多层架构,数据中台,动静分离,集群化部署,自动化运维,等等。

               1,   全技术栈

   不同于一个Demo演示,用于商业、有价值的一个Web服务是功能全面的,有服务保障和监控机制。特别强调一下缓存系统,如果都是直接读写数据库而没有加入缓存机制,那么一旦用户量多起来,这个系统崩掉几乎是一定的。

               1)  数据库

  2)  缓存系统

  3)  消息队列

  4)  文件服务

  5)  鉴权认证

  6)  异步任务调度

  7)  日志系统

  8)  服务监控

  9)  。。。

               2,   系统架构

   示意图如下:

点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

  3,   自动构建

   开发完成、测试通过后,提交代码将触发自动构建系统。

                阿里云容器镜像服务提供Docker镜像仓库托管,配置项目代码Git仓库和构建规则,结合Dockerfile实现云端编译打包,不再需要常用的Jenkins构建服务器。  

点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

  4,   一键部署

  Docker是一个开源的应用容器引擎,将应用以及依赖打包到一个可移植的镜像中,部署到服务器并运行在Container容器实例中。

   资源编排Docker-compose定义和运行多个容器组成的应用系统,通过docker-compose.yml文件声明各个服务,作为一个整体来完成应用的创建和启动。

   我们使用Docker快捷高效部署应用,先看操作步骤和用时:
    操作    脚本    用时
   资源编排,配置镜像   docker-compose.yml   -
   安装Docker,Ubuntu服务器可用脚本   docker.sh   -
   拉取镜像,有更新时下载   pull.sh   -
   启动服务容器   up.sh   10s
   查看运行日志   logs.sh   -
   停止服务   down.sh   15s


           以完整部署Web服务脚手架为例,代码脚本文件:

  https://github.com/jextop/StarterDeploy

  ├── docker.sh            # Ubuntu环境下自动安装Docker

  ├── docker-compose.yml # 资源编排文件,配置各个服务

  ├── pull.sh              # 拉取需要的Docker镜像

  ├── up.sh               # 一键启动依赖的运行环境

  ├── logs.sh              # 查看容器运行日志

  ├── down.sh            # 停止运行环境

               1)    安装Docker

  Ubuntu服务器可以运行脚本docker.sh自动安装

  https://docs.docker.com/install/linux/docker-ce/ubuntu/

  https://docs.docker.com/docker-for-windows/install/

  2)   pull.sh拉取镜像

   批量拉取需要的镜像,完成后docker images查看:

点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

  3)   up.sh启动容器

   脚本中封装了docker-compose up -d命令,启动后docker ps查看容器实例:

点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

  4)   logs.sh查看日志

   定制命令突出显示重要信息:
   docker-compose logs -ft |  grep --color -i -e error -e warn -e version -e exception
点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

  5)    打开管理后台,查看服务

点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

  6)   down.sh停止服务

   运行docker-compose down --remove-orphans  停止并删除容器:

点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小



----------------------------
原文链接:https://blog.51cto.com/13851865/2476493

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-03-12 13:45:57 重新编辑]
  Java面向对象编程-->操作符
  JavaWeb开发-->Web运作原理(Ⅱ)
  JSP与Hibernate开发-->映射一对多关联关系
  Java网络编程-->ServerSocket用法详解
  精通Spring-->Vue组件开发基础
  Vue3开发-->Vue简介
  Netty权威指南:I/O 多路复用技术
  Redis 超详细总结笔记
  Rust学习笔记 | 异步代码的几种写法
  面试官:Mybatis里的设计模式有哪些?脱口而出8种
  循序渐进,阿里架构师看完都赞叹的Redis分布式锁原理分析
  Spring 5 webflux响应式编程 - 但时间也偷换概念
  Spring 自动注入的三种方式:byName、byType、constructor
  @Resource注解的用法
  @InitBinder注解的用法
  vue父、子组件相关的传递
  Spring Boot、SpringMVC进行i18n国际化支持:使用MessageSou...
  浓缩精华的架构演进过程,经验总结,值得收藏!
  spring-boot-plus V1.4.0发布 集成用户角色权限部门管理 - g...
  Spring @Transactional注解失效解决方案
  Spring Boot整合WebSocket及Spring Security实例
  更多...
 IPIP: 已设置保密
树形列表:   
[url=http://www.zhent.com]... nihaota 2022-10-28 19:55:18
1页 1条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。