zoukankan      html  css  js  c++  java
  • 《微服务-架构与实践》

    一、基础

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

    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

    三、进阶

  • 相关阅读:
    select详解
    java Map及Map.Entry详解
    Java 基本类型
    java 获取String出现最多次数的字段
    java 居民身份证的校验
    java 删除文件
    Java 导出excel进行换行
    获取文件及其文件路径
    List<Map<String,Object>> 中文排序
    Java ----单个list 删除元素
  • 原文地址:https://www.cnblogs.com/simbadan/p/6934590.html
Copyright © 2011-2022 走看看