微服务架构简介

近日不务正业,读黄勇写的《轻量级微服务架构(上)》有感。

总体技术栈:

1、后端基于SpringBoot用java实现,核心原因在于boot引入了诸多简化spring的注解、实现了诸多自动化的识别与配置、内嵌了tomcat容器、引入了诸多监控组件、且打包成jar包;使得整个后端服务非常简化、轻量。

代码:https://github.com/weikuo0506/microservice-api.git

2、后端java负责将服务注册与暴露到zookeeper上。framework模块负责与zookeeper交互,创建node节点。

代码:https://github.com/weikuo0506/microservice-framework.git

3、用node.js来做服务网关,实现服务的自动发现;node.js是一个基于chrome v8引擎的js运行环境,使用了事件驱动和异步非阻塞IO,非常轻量且高效;另外node.js的npm包含了全球最多的开源生态系统,使用非常方便。node.js作为网关的核心作用是1)与zookeeper交互,寻址;2)作为http proxy实现反向代理。

代码:https://github.com/weikuo0506/gateway-nodejs.git

4、用docker封装后端服务的运行环境。借助docker maven plugin非常方便就能做到。

5、搭建本地docker registry,作为docker的局域网私有仓库。

6、搭建gitlab,作为本地代码托管私服。

7、借助jenkins,实现从gitlab 自动拉取代码,打包,build & push到私有docker registry。此处gitlab、jenkins都可能运行在docker中,涉及到docker间的通讯问题。

从上可知,代码的开发、打包、部署变得非常自动化,交付产物也由之前的”代码“,抽象提升到了更高的层次,即交付"docker镜像",即交付的是能够即可运行的完整服务。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,403评论 19 139
  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,695评论 15 147
  • 例子实现目标 该代码实现的是在输入的数据对中,先以第一列由小到大排序,如果第一列值相等,以第二列由小到大排序。即:...
    VVictoriaLee阅读 8,675评论 0 1
  • 像飞鸟,要么飞,要么坠落 很多时候我不明白 要么爱 要么不爱 为什么要有那么多的谎言 坦诚相待,敞开心扉 有那么难...
    hljzccvv阅读 1,267评论 0 0
  • 主要是想跟大家咨询一下这个考研的相关问题,想知道1.考研艺术类跨考到大文大理的怎么样?2. 考研英语学习的一些方法...
    七十度阅读 1,761评论 0 1