Java基础、中级、高级、架构面试资料

阿里云容器服务Docker与微服务实战

JAVA herman 5933浏览 0评论
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog2,发送下载链接帮助你免费下载!
本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领
腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云

现在银行里流行微服务了,一时间要抛弃ESB。做技术的,必须快速的适应技术的发展革自己的命。本文将详细的介绍阿里云容器服务实践,怎样利用Docker来简化微服务应用的创建和部署。

从2012年起,在IT领域逐渐能听到微服务(Microservices)这个词,随之微服务这个词变得越来越火热。与微服务相对应的是单体式应用(即Monolithic Application)模式,它将一个应用程序或以一个业务需求视为一个整体,所有功能都放入一个应用程序中执行。企业应用系统架构通常可分为三层:前端表示层(即Web界面)、业务逻辑层、持久层,单体式应用模式通常将这三层封装成单个的Web应用程序。而微服务架构则反其道而行之,借由很多小型的服务,共同组合成完整的服务程序。

由大量微型服务组合而成的微服务应用,其特征是每一个微服务都是独立执行,且每个服务能够各自扩展,甚至可以用不同的编程语言来开发同一个业务所需的各个微服务。微服务架构虽然具备弹性、可扩展性的优点,但它也带来了管理大量服务的复杂性,特别是微型服务的数量极多的情况更为明显。要构建分布式微服务架构的应用,往往只有大型互联网公司才有能力完成。

随着容器技术的成熟,过去实现难度很高的微服务架构,开始“飞入寻常百姓家”。容器技术可以将各种微型程序打包成可独立运行的映像,发布到任何可用的容器平台上执行。开发者只要将业务应用所需的所有功能程序打包成一个个的Docker映像,部署到各个容器中就能实现提供不同功能的微服务。这样开发者就可以通过同样的工具和技术来管理大量的微服务,而不用自己维护微服务架构技术。

在阿里云上部署一个完整的JavaEE微服务应用通常需要一个比较复杂的过程,但如果结合Docker技术,则只需简单的几个步骤即可搞定。

Couchbase

Couchbase服务器是一个开源的、文档型的NoSQL数据库,它具有高性能、高可扩展性和高可用性的分布式架构,使得开发人员能够同时利用JSON的灵活性和SQL语言的强大功能,从而能够更轻松、更快地开发和构建业务应用程序。

Couchbase

Couchbase具有的特征:

  • 更容易,更快的开发
    通过利用灵活的数据模型和强大的查询语言来减少代码的数量,从而避免数据库更改,实现更快地迭代。
  • 灵活的数据建模
    通过将数据模型扩展为嵌套或引用数据,或通过在相同数据上添加新的索引和查询来添加要素。
  • 强大的查询和索引
    执行复杂查询(带或不带联接),并受益于内置的查询编辑器和模式浏览器 – 无需代码。
  • SQL集成和迁移
    按原样迁移关系数据和查询,继续利用企业BI和报表工具完全支持SQL。
  • 大数据集成
    可以与Spark、Kafka和Hadoop集成,以实时丰富、分发和分析操作数据流。
  • 移动/物联网扩展
    通过利用具有与云的自动同步的跨平台嵌入式数据库来简化移动开发。
  • 弹性可扩展性
    轻松,高效和可靠地扩展,从几个节点到多个,一个数据中心到多个,全部具有“按钮”简单性。
  • 一致的高性能
    构建响应式应用程序,并通过利用内存和异步操作支持数百万并发用户。
  • 永远在线可用性
    通过启用复制和自动故障转移以及在线执行维护操作来维持24×365正常运行时间。
  • 多数据中心部署
    在多个地理位置操作,以通过启用跨数据中心复制来提高性能和可用性。
  • 简单而强大的管理
    通过集成的管理UI和为大型部署优化的自动化任务来部署,管理和监控部署。
  • 企业级安全
    通过启用内置审计,基于角色的访问控制和加密通信在安全环境中部署。

微服务

微服务

微服务即Microservices,是一种软件架构模式和风格,以专注于单一责任和功能的小型功能块为基础,利用模组化的方式组合出复杂的大型应用程序,各功能块的使用与编程语言无关的API集相互通信。微服务架构运用于软件架构风格的其中一项概念是甘露运算(Dew Computing),意指由许多的“小露水”(即代表微服务的功能块)汇集而成的整体服务能力。

Docker容器

Docker容器

Docker是一个开源的应用容器引擎,它使得开发者可以打包自己的应用及其依赖包到一个可移植的容器中,然后发布到任何流行的Linux服务器,也可以实现虚拟化。容器完全使用了沙箱机制,容器相互之间不会有任何接口(类似于iOS系统上的APP)。而且几乎没有性能开销,可以很容易地在服务器和数据中心上运行。最重要的是,Docker不依赖任何语言和框架,也不依赖于任何系统。Docker在容器的基础上进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得Docker技术比虚拟机技术更为轻便、快捷。

WildFly

WildFly

WildFly原名为JBoss AS或者JBoss,是JBoss AS的后继者,是一个基于Java语言的应用服务器软件,它属于开源企业级Java中间件软件,用于实现各种Web应用和服务。WildFly通过了JavaEE 7认证,带来了更简化、标准化和嵌入式特性,适合云计算和移动开发场景。

本文只是介绍我上阿里云容器服务所用到的技术,限于篇幅,阿里云的容器服务实践我们从下章正式开始。传送门《阿里云容器服务实践之Docker Compose

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!

本文原文出处:业余草: » 阿里云容器服务Docker与微服务实战