• 《微服务-架构与实践》


    一、基础

    微服务架构:把单一的应用划分为一组小的服务,每个服务都是业务属性的独立单元,能够独立开发、运行、测试、部署。

    1、微服务划分:单一职责原则

    2、轻量级通迅:平台无关,语言无关,xml,json,http rest

    3、每个服务独立开发、测试、构建、部署

    4、进程隔离:高度自治

    二、实践:

    1、构建API

    语言ruby,web框架Grape, web服务器WEBrick,

    Rack?Rack Gem?

    2、代码测试,静态检查

    RSpec代码测试工具

    rack-test 测试api接口

    测试覆盖率统计:SimpleCov

    静态检查:Rubocop

    代码复杂度:Cane

    3、构建Docker映像

    3.1 Dockerfile定义:

    FROM <image>:<tag>                     从docker hub上获取映像                         FROM ruby:2.1.5

    MAINTAINER <name><email>         维护人的姓名邮件                                    MAINTAINER docker-library <docker-library@github.com>

    RUN  <command>                           在Docker容器里运行Shell命令                  RUN apt-get update-y

    WORKDIR <path>                           指定工作路径                                         WORKDIR /app

    ADD <src> <dest>                          添加应用的目录、文件到Docker容器中。<src>相对于应用的相对路径(文件/目录) ,<dest>容器内文件、目录的绝对路径                   ADD Gemfile /app/Gemfile

    EXPOSE <port>                              容器与主机的端口映射关系                         EXPOSE 8080

    CMD <command>                           容器运行时的默认命令                               CMD ["rackup","-o","0.0.0.0","-p","8080"]

    3.2 Boot2Docker

    在window,mac上构建docker虚拟机

    boot2docker init

    boot2docker up

    docker images

    3.3 构建映像

     docker build -t products-service .

    docker images |grep products-service

    3.4 运行容器

    docker run -p 8080:8080 products-service

    docker ps 查看容器的运行信息

    boot2docker ip 查看docker主机Ip

    3.5发布docker映像

    发布到docker hub、私有仓库:docker push 、云存储。

    3.6、部署Docker映像

    使用sh脚本从dockerhub 获取映像 、运行容器

    4、持续交付流水线

    书中的Snap-CI 已经废弃,已推出Go CD

    5、日志聚合

    Splunk 、ELK(ElasticSearch、LogStatsh、Kibana)

    6、监控告警

    Nagios

    PagerDuty

    三、进阶

  • 相关阅读:
    获取全部 txt 文本中出现次数最多的前N个词汇
    提取txt文本有效内容
    部分画图
    Series结构(常用)
    C 语言实例
    HTML之marquee(文字滚动)详解
    一款好看的404页面代码 | 滚动的404
    VS2010到VS2019各个版本的密钥
    什么是工程/项目?
    什么是IDE(集成开发环境)?
  • 原文地址:https://www.cnblogs.com/simbadan/p/6934590.html
Copyright © 2020-2023  润新知