microservice

微服务得从两个方面去理解,什么是"微"、什么是"服务".

微服务架构风格是一种使用一套小服务来开发单个应用的方式途径,每个服务运行在自己的进程中,并使用轻量级机制通信,通常是HTTP API,这些服务基于业务能力构建,并能够通过自动化部署机制来独立部署,这些服务使用不同的编程语言实现,以及不同数据存储技术,并保持最低限度的集中式管理.

每个微服务可独立运行在自己的进程里;

一系列独立运行的微服务共同构建起了整个系统;

每个服务为独立的业务开发,一个微服务一般完成某个特定的功能,比如:订单管理,用户管理等;

微服务之间通过一些轻量级的通信机制进行通信,例如通过REST API或者RPC的方式进行调用。

目前微服务的开发框架,最常用的有以下四个:

Spring Cloud:http://projects.spring.io/spring-cloud(现在非常流行的微服务架构)

Dubbo:http://dubbo.io

Dropwizard:http://www.dropwizard.io (关注单个微服务的开发)

Consul、etcd&etc.(微服务的模块)

客户端如何访问这些服务?

一般在后台N个服务和UI之间一般会一个代理或者叫API Gateway

服务之间如何通信?

IPC

(REST(JAX-RS,Spring Boot)

RPC(Thrift, Dubbo)

异步消息调用(Kafka, Notify) )


etcd 服务发现

你可能感兴趣的:(microservice)