微服务架构解析学习笔记

极客时间:https://time.geekbang.org/course/intro/66

目录:

  • 什么是微服务架构?
  • 架构师如何权衡微服务的利弊?
  • 康威法则和微服务给架构师怎样的启示
  • 企业应该在什么时候开始考虑引入微服务
  • 怎么的组织架构更适合微服务?
  • 如何理解阿里巴巴提出的微服务中台战略
  • 如何给出一个清晰简洁的服务分层方式?
  • 微服务总体技术架构是怎样设计的
  • 微服务最经典的三种服务发现机制
  • 微服务API 服务网关(一)“原理“
  • 微服务API服务网关(二)“开源网关Zuul“
  • 跟Netflix学习微服务路由发现体系
  • 集中式配置中心的作用和原理
  • 微服务通讯方式RPC vs. REST
  • 微服务架构需要考虑哪些治理环节
  • 微服务监控系统分层和监控架构
  • 微服务的调用链监控改如何选择
  • 微服务的容错限流是如何工作的
  • Docker 容器部署技术 & 持续交付流水线
  • 容器集群调度和基于容器的发布体系

什么是微服务架构?

  1. 微服务主张将单块应用拆成的独立服务
  2. 微服务运行在独立的进程中,以进程的方式来横向扩展。(Java 运行在 Tomcat 中,NodeJS,容器等)
  3. 轻量级的通信机制(HTTP)
  4. 基于业务能力(SOA)来构建
  5. 独立部署,每个团队维护自己的部署
  6. 无集中式的管理,原来模式会有架构团队来规划标准:统一技术栈、统一存储方式。而微服务主张每个团队根据自己的的业务需要选择自己对擅长的、最能解决当前技术问题的技术栈,甚至采用不用的存储方式。

Netflix – 微服务定义:Loosely coupled (松耦合), service oriented architecture (面向服务架构 – SOA) with bounded context (有界上下文或局部状态).

继续阅读微服务架构解析学习笔记

前端模块化方案

 

  • requirejs/seajs: 是一种在线“编译”模块的方案,相当于在页面上加载一个 CommonJS/AMD 模块格式解释器。这样浏览器就认识了 define、exports、module 这些东西,也就实现了模块化。
  • browserify/webpack:是一个预编译模块打包的方案,相比于第一种方案,这个方案更加智能。由于是预编译的,不需要在浏览器中加载解释器。你在本地直接写 JavaScript,不管是 AMD/CMD/ES6 风格的模块化,它都能认识,并且编译成浏览器认识的JavaScript。注意: browerify 打包器本身只支持 Commonjs 模块,如果要打包 AMD 模块,则需要另外的 plugin 来实现 AMD 到 CMD 的转换!