当前位置: 首页 > news >正文

微信商城系统免费百度排名优化软件

微信商城系统免费,百度排名优化软件,源码如何做网站,下载网站模板后本地的网站会自动做跳转目录 什么是微服务 定义 特点 利弊 引入时机 需要哪些治理环节 从单体架构到微服务架构的演进 单体架构 集群和垂直化 SOA 微服务架构 如何实现微服务架构 服务拆分 主流微服务解决方案 基础设施 下一代微服务架构Service Mesh 什么是Service Mesh&#xff1f…

目录

什么是微服务

定义

特点

利弊

引入时机

需要哪些治理环节

从单体架构到微服务架构的演进

单体架构

集群和垂直化

SOA

微服务架构

如何实现微服务架构

服务拆分

主流微服务解决方案

基础设施

下一代微服务架构Service Mesh

什么是Service Mesh?

Service Mesh的实现原理


什么是微服务

定义

微服务的概念最早是在2014年由Martin Fowler和James Lewis共同提出(原文链接:https://martinfowler.com/articles/microservices.html),他们定义了微服务是由单一应用程序构成的小服务,拥有自己的进程与轻量化处理,服务依业务功能设计,以全自动的方式部署,与其他服务使用HTTP API通讯。同时,服务会使用最小规模的集中管理 (例如Docker)技术,服务可以用不同的编程语言与数据库等。

特点

从微服务的定义当中,我们可以提炼出如下几个微服务的核心特点:

  • 一组小的服务(涉及到服务拆分的粒度问题,后面会涉及)
  • 独立进程
  • 轻量级通信(Rest和RPC)
  • 独立部署

利弊

微服务带来的好处:

  • 清晰的模块边界
  • 各自独立部署,互不影响
  • 各个服务可选择不同的技术实现

微服务带来的弊端:

  • 分布式复杂性(从单体到微服务,系统内部复杂度降低,同时外部复杂度增加)
  • 数据一致性问题
  • 运维复杂度更高
  • 测试复杂度更高

引入时机

前期业务不复杂的情况下,不建议引入微服务。对于一个业务,一开始就应该是怎么快怎么来,快速迭代,快速验证产品。随着业务不断发展越来越复杂,整个生产力开始下降的时候,就可以开始考虑引入微服务了。

在引入微服务的时候,整体的一个思路是:选择一个非核心模块开始微服务化,将微服务整套核心基础设施落地(核心基础设施后面会涉及),然后渐进式地去微服务化其他模块,稳步前进。

需要哪些治理环节

服务注册中心

服务通信

服务配置中心

统一网关

自动化部署

可观测性(日志Logs、监控Metrics、链路追踪Trace)

从单体架构到微服务架构的演进

单体架构

早期开发的时候,一个war包或者jar包,里面包含了一个应用的所有功能,这样的架构我们叫作单体架构。单体架构足够简单,可以快速开发和上线,适用于项目初期业务简单、用户量不大的情况。

集群和垂直化

集群:横向增加服务器,将单台机器变成由多台机器组成的集群。

垂直化:按照业务的垂直领域进行划分,降低业务的耦合度,同时提高应用的可伸缩性。

SOA

面向服务架构,核心目标是把一些通用的、会被多个上层服务调用的共享业务提取成独立的基础服务,这些被提取出来的共享服务相对来说比较独立,并且可以重用。所以在SOA中,服务是最核心的抽象手段,业务被划分为一些粗粒度的业务服务和业务流程。

SOA解决的问题:信息孤岛;共享业务重用。

微服务架构

我们可以简单地理解,多个微服务可以组成一个SOA服务。

由于SOA和微服务它们的关注点不同,就导致了它们之间有非常大的区别:

  • SOA关注的是服务的重用性和信息孤岛问题;
  • 微服务关注的是业务解耦。

解耦是降低业务之间的耦合度,重用性关注的是服务的复用。

微服务架构使得服务粒度细化之后,开发运维也变得更加重要,和容器技术也结合得更加紧密。

如何实现微服务架构

服务拆分

更多的时候,大家可能都是按照业务流程来进行服务的拆分的。除此之外,我们还可以按照性能、业务重要程度、可用性、稳定性这些维度来进行微服务的拆分,具体采取什么方式可以视具体情况而定。

那关于服务的粒度,我们应该如何把握呢?粒度太细或太粗都不太合适,粒度太细会导致开发、测试、运维更加复杂,整体性能会降低等;粒度太粗又会导致达不到我们的预期,服务之间依赖太大。这里有一个技巧:三个火枪手原则。拆分微服务的数量=服务端开发人数/3。

什么是三个火枪手原则?平均3个开发人员负责一个微服务。

为什么不是1个人?没有备份人员,一个人思维有局限。

为什么不是2个人?异常情况下一个人压力会比较大,另外两个人维护的服务复杂度可能偏低。

为什么不是4个或者更多?开发人员多了之后,每个人不一定能掌握单个服务的所有细节。

主流微服务解决方案

  • Spring Cloud Alibaba(目前用得比较多的方案)
  • Spring Cloud Netflix
  • SpringBoot + K8s
  • Dubbo

基础设施

微服务整个基础设施会包括下面这些内容,我们一起来看看。

  • 服务接入层:服务网关;服务流控;服务降级;服务安全。
  • 服务运行层:服务注册;服务发现;服务路由;服务容错。
  • 技术支撑层:接口框架;分布式事务;自动化测试;容器编排;自动化部署;灰度发布;服务监控;服务跟踪。
  • 基础设施层:配置中心;日志中心;分布式锁;消息队列。

上面说了这么多,那么它们的优先级是怎么样的呢?服务运行层 > 服务接入层 > 基础设施层 > 技术支撑层。其中微服务框架的核心是:服务注册、服务发现和服务路由。

下一代微服务架构Service Mesh

什么是Service Mesh?

Service Mesh是一种新型的用于处理服务与服务之间通信的技术,尤其适用以云原生应用形式部署的服务,能够保证服务与服务之间调用的可靠性。在实际部署时,Service Mesh 通常以轻量级的网络代理的方式跟应用的代码部署在一起,从而以应用无感知的方式实现服务治理。

Service Mesh 以轻量级的网络代理的方式与应用的代码部署在一起,用于保证服务与服务之间调用的可靠性,这与传统的微服务架构有着本质的区别,这么做主要是出于两个原因:

  • 跨语言服务调用的需要
  • 云原生应用服务治理的需要

Service Mesh的实现原理

Service Mesh 实现的关键就在于两点:一个是上面提到的轻量级的网络代理也叫 SideCar,它的作用就是转发服务之间的调用;一个是基于 SideCar 的服务治理也被叫作 Control Plane,它的作用是向 SideCar 发送各种指令,以完成各种服务治理功能。

1.SideCar

 2.Control Plane

既然 SideCar 能实现服务之间的调用拦截功能,那么服务之间的所有流量都可以通过 SideCar 来转发,这样的话所有的 SideCar 就组成了一个服务网格,再通过一个统一的地方与各个 SideCar 交互,就能控制网格中流量的运转了,这个统一的地方就在 Sevice Mesh 中就被称为 Control Plane。

Service Mesh 在诞生不到两年的时间里取得令人瞩目的发展,Google、IBM 领导的 Istio是 Service Mesh 技术的代表之作。除吃之外还有微博的 Weibo Mesh、华为公有云 Service Mesh 以及蚂蚁金服的 SOFA Mesh 等。 

http://www.hkea.cn/news/261958/

相关文章:

  • 建设部职称网站关键词优化营销
  • 做seo还要需要做网站吗百度热搜榜排行
  • 福建城市建设厅网站怎么推广一个网站
  • 机构网站建设需要交费吗关键词挖掘
  • 专业网站建设费用报价今日最新消息
  • 电商网站建设论文2022黄页全国各行业
  • 能源企业 网站建设网络营销的应用
  • 如何看网站是用什么语言做的关键词排名是由什么决定的
  • 政府网站建设招标书百度网站收录
  • 已经有了网站怎么做推广哈尔滨关键词优化报价
  • 网站建设与管理作业镇江推广公司
  • 域名申请好后 如何建设网站网站权重划分
  • 佛山百度网站快速优化网络营销推广工具
  • 建一个网站需要哪些人广州seo网站推广公司
  • 建设银行etc官方网站搜索引擎优化的七个步骤
  • 做网站需要花钱吗海南百度推广运营中心
  • 做的网站显示图片很慢百度运营公司
  • 青州哪里做网站公司推广渠道
  • 网站面包屑导航怎么做的网推接单平台有哪些
  • 宜昌网站建设兼职百度关键词排名软件
  • 如何让百度快照找到自己的网站营销策划方案ppt模板
  • php网站超市广告软文是什么意思
  • b2c跨境电商宣城网站seo
  • 网站建设一流公司免费网站开发平台
  • 网站开发模式名词外贸谷歌优化
  • 网站素材 下载产品推广渠道
  • 网站后台维护怎么做seo专员工资一般多少
  • 中国网站推广黄页名录微商推广哪家好
  • 哈尔滨网站开发电话电商培训基地
  • 如何用php数据库做网站搜索seo优化托管