讲在前面的话:
若企业缺乏对服务变更的控制和规则,那么一个服务在经过几个项目之后,就很有可能被随意更改成多个版本,将来变成什么样更是无法预测。久而久之,降低了服务重用的可能性,提高了服务利用的成本。
服务治理在SOA实施之初的作用不明显,甚至在一定程度上影响到项目的进展,但随着SOA实施深入开展和服务数量的增加,其作用会越来越明显。正如SOA架构通过引入了多个层级,在一定程度上牺牲单笔服务调用的效率却换来架构的灵活性一样。
 
什么是SOA
面向服务的体系结构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约(规范)联系起来。
 
SOA的定义
面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。
 
SOA的优势
对 SOA 的需要来源于需要使业务,让服务变得更加灵活,以适应业务中的改变。更好的实现业务驱动。
SOA具有低耦合性特点,业务伙伴对整个业务系统的影响较低。
 
 
SOA的特性
暴露API,可从企业外部访问
随时可用
松散耦合
可重用的服务(与重组服务)
标准化的服务接口
精确定义的服务契约
...
 
SOA四大支柱
团队合作
理念共识
纪律规范
范围边界
 
SOA八个原则
标准化服务合同原则
服务松散耦合原则
服务的抽象原则
服务可重用性原则
服务自治原则(服务合同定义良好功能边界,避免服务重叠)
服务无状态原则?
服务可发现原则
服务可组合原则
 
服务治理的重要性
服务是SOA的核心。按其愿景,在新项目设计实施过程中,项目团队通常会面临如下问题:
1.企业有无服务目录,服务目录在哪里?
2.哪些服务可在新项目实施中重用?
3.需要新开发哪些功能,这些功能是否要封装成服务,供其他应用使用?
4.当新系统所需要的某一功能已经存在于某一现有系统之中,但是并非以服务形式出现时,是否要对它进行封装,如何封装?
5.服务的调用是否必须经过企业服务总线(ESB、dubbo_zk),何种情况下必须经过ESB,何种情况下不需要?
6.当某个现有服务功能部门满足某项需求时,如何对服务进行改造和版本控制?
7.待开发的新系统是对某个旧系统的升级,那么旧系统提供的服务何时中止,用新系统中的服务替换,还是将服务升级成另一种形式?
8.服务来自于哪个系统,被哪些系统所用?
9.服务由谁负责管理和维护?
10.服务可被哪些人或角色有权限访问?
 
如何服务治理
1、建立服务仓库
2、制定治理规范
  服务定义(服务的范围、接口和边界)
  服务部署生命周期(各个生命周期阶段)
  服务版本治理(包括兼容性)
  服务变更(启用和退役)
  服务注册中心(依赖关系)
  服务监视(进行问题确定)
  服务所有权(企业组织)
  服务测试(重复测试)
  服务安全(包括可接受的保护范围)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

服务治理要先于SOA的更多相关文章

  1. soa服务治理

    SOA服务治理 文章:SOA 治理简介 文章:中小型互联网公司微服务实践-经验和教训

  2. 简述我的SOA服务治理

    SOA服务治理 1.解决业务部门服务冲突和纠纷2.版本定义与版本管理3.服务备案与服务管理4.业务监督与服务监控 SOA的战略目的 一.业务价值胜过技术策略 二.战略目标胜过具体项目的效益 三.内置的 ...

  3. [转]系统架构演变--集中式架构-垂直拆分-分布式服务-SOA(服务治理)-微服务

    一.系统架构演变 1.1. 集中式架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本.此时,用于简化增删改查工作量的数据访问框架(ORM)是影响项目开发的关键. 存在的 ...

  4. 基于Nginx dyups模块的站点动态上下线并实现简单服务治理

    简介 今天主要讨论一下,对于分布式服务,站点如何平滑的上下线问题. 分布式服务 在分布式服务下,我们会用nginx做负载均衡, 业务站点访问某服务站点的时候, 统一走nginx, 然后nginx根据一 ...

  5. 面向服务体系架构(SOA)和数据仓库(DW)的思考基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台

    面向服务体系架构(SOA)和数据仓库(DW)的思考 基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse, ...

  6. 分布式服务治理框架dubbo

    Dubbo最主要功能有两个 1 RPC调用 2 SOA服务治理方案 Dubbo的架构 Dubbo常见的注册中心有2中,zookeeper以及redis 这篇文章讲解的是采用的zookeeper,要求读 ...

  7. .NET Core微服务之路:基于gRPC服务发现与服务治理的方案

    重温最少化集群搭建,我相信很多朋友都已经搭建出来,基于Watch机制也实现了出来,相信也有很多朋友有了自己的实现思路,但是,很多朋友有个疑问,我API和服务分离好了,怎么通过服务中心进行发现呢,这个过 ...

  8. 面向服务体系架构(SOA)和数据仓库(DW)的思考

    摘要: 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse,DW)都介绍的很多,提出了很多优秀的解决方案,但是一般是把 SOA 和 DW 单独考虑,SOA 和 DW 有着共同 ...

  9. dubbo服务治理框架

    Dubbo的概述 1.1. Dubbo的背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. ...

随机推荐

  1. ASP.NET Core应用针对静态文件请求的处理[5]: DefaultFilesMiddleware中间件如何显示默认页面

    DefaultFilesMiddleware中间件的目的在于将目标目录下的默认文件作为响应内容.我们知道,如果直接请求的就是这个默认文件,那么前面介绍的StaticFileMiddleware中间件会 ...

  2. git克隆项目到本地&&全局安装依赖项目&&安装依赖包&&启动服务

     一.安装本地开发环境 1.安装本项目 在需要保存到本地的项目的文件夹,进入到文件夹里点击右键,bash here,出现下图: 2.安装依赖项目  3.安装依赖包(进入到命令行) # 安装依赖包 $ ...

  3. var和dynamic的区别

    1.var 1.均是声明动态类型的变量. 2.在编译阶段已经确定类型,在初始化的时候必须提供初始化的值. 3.无法作为方法参数类型,也无法作为返回值类型. 2.dynamic 1.均是声明动态类型的变 ...

  4. 将DataTable中的某列转换成数组或者List

    string[] arrRate = dtRate.AsEnumerable().Select(d => d.Field<string>("arry")).ToA ...

  5. 整理下.net分布式系统架构的思路

    最近看到有部分招聘信息,要求应聘者说一下分布式系统架构的思路.今天早晨正好有些时间,我也把我们实际在.net方面网站架构的演化路线整理一下,只是我自己的一些想法,欢迎大家批评指正. 首先说明的是.ne ...

  6. SQLServer 各版本区别

    SQLServer 2012 新特性 通过AlwaysOn实现各种高可用级别 通过列存储索引技术实现超快速的查询,其中星型链接查询及相似查询的性能提升幅度可高达100倍,同时支持超快速的全文查询 通过 ...

  7. 《MySQL必知必会》学习笔记

    数据库:数据库是一种以某种有组织的方式存储的数据集合.其本质就是一个容器,通常是一个或者一组文件. 表:表示一种结构化的文件,可用来存储某种特定类型的数据. 模式:描述数据库中特定的表以及整个数据库和 ...

  8. 谈谈document.ready和window.onload的区别

    在Jquery里面,我们可以看到两种写法:$(function(){}) 和$(document).ready(function(){}) 这两个方法的效果都是一样的,都是在dom文档树加载完之后执行 ...

  9. 进程监控工具supervisor 启动Mongodb

    进程监控工具supervisor 启动Mongodb 一什么是supervisor Superviosr是一个UNIX-like系统上的进程监控工具. Supervisor是一个Python开发的cl ...

  10. [PHP源码阅读]empty和isset函数

    近日被问到PHP中empty和isset函数时怎么判断变量的,刚开始我是一脸懵逼的,因为我自己也只是一知半解,为了弄懂其真正的原理,赶紧翻开源码研究研究.经过分析可发现两个函数调用的都是同一个函数,因 ...