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

翠峦网站建设wordpress 网站收录

翠峦网站建设,wordpress 网站收录,怎么自己做网站qq,python创建wordpress微服务使用指南 1.初识微服务 微服务可以认为是一种分布式架构的解决方案,提供服务的独立性和完整性,做到服务的高内聚、低耦合。 目前服务架构主要包含:单体架构和分布式架构。 1.1 单体架构 单体架构:把所有业务功能模块都…

微服务使用指南

1.初识微服务

微服务可以认为是一种分布式架构的解决方案,提供服务的独立性和完整性,做到服务的高内聚、低耦合。

目前服务架构主要包含:单体架构和分布式架构

1.1 单体架构

单体架构:把所有业务功能模块都放在一个项目中进行开发,打成一个包部署。

优点:架构简单、易部署

缺点:功能模块耦合度高,升级维护困难

1.2 分布式架构

分布式架构:将系统中每个业务功能模块作为独立项目进行开发,分开进行部署,每个项目称为一个服务。

优点:耦合度低、有利于功能模块升级与维护

缺点:架构复杂、部署有一定难度

2.微服务特点

  • 独立职责:每个服务对应一个业务功能,职责独立
  • 自治:因为每个服务都是一个独立项目,因此可以根据技术背景让不同的团队开发不同的服务,每个服务有自己的数据库,开发完成后进行独立部署,实现团队独立、技术独立、数据自治、独立部署与运行
  • 面向服务:服务提供统一标准的接口与外界进行交互,与语言和技术无关
  • 隔离性强:服务之间都是独立的,只能通过统一接口进行访问,隔离性强

3.微服务框架-SpringCloud

全球各地的互联网公司都在寻求可以落地的微服务方案,目前国内使用最广泛的微服务框架还是SpringCloud,官网地址:https://spring.io/projects/spring-cloud。SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验。

在这里插入图片描述

:SpringCloud底层是依赖于SpringBoot的,并且有版本的兼容关系

在这里插入图片描述

4.服务拆分与远程调用

4.1 服务拆分

任何分布式架构方案都需要考虑服务拆分的问题:

  • 服务拆分的粒度如何确定?
  • 不同服务之间如何调用?
  • 不同服务之间调用关系如何管理?

微服务进行服务拆分的原则:

  • 不同的微服务,不重复开发相同的业务
  • 微服务数据库独立,不能去访问其它微服务的数据库
  • 微服务可以将自己的业务接口暴露出来,供其它微服务使用

例:现在要开发两个微服务:支付微服务和订单微服务,支付微服务中需要用到订单微服务中的数据

  • 支付微服务和订单微服务是两个完全不同的业务,不能包含相同的业务

  • 支付微服务和订单微服务都需要有自己的数据库,支付微服务不能访问订单微服务的数据库

  • 支付微服务和订单微服务都可以暴露自己的Restful接口供其它微服务使用,支付微服务可以通过访问订单微服务暴露的接口去获得数据

在服务的调用关系中,有两个不同的角色:

服务调用者:业务中访问其它微服务的服务称为服务调用者,就是一个服务去访问其它微服务暴露的业务接口

服务提供者:业务中被其它微服务访问的服务称为服务提供者,就是一个服务暴露业务接口供其它微服务访问

服务调用者和服务提供者的角色并不是绝对的,是相对与业务而言的,一个微服务既可以是服务调用者也可以是服务提供者

4.2 远程调用

实现微服务之间的调用,最开始的方式可以使用注册RestTemplate实例的方式,RestTemplate是用于服务之间远程通信的一个类,以上文提到的支付微服务和订单微服务为例,支付微服务中需要用到订单微服务中的数据。步骤如下:

注册RestTemplate到容器到支付微服务的Spring中

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;@SpringBootApplication
public class PayApplication {public static void main(String[] args) {SpringApplication.run(PayApplication.class, args);}@Beanpublic RestTemplate restTemplate() {return new RestTemplate();}
}

在支付微服务的业务方法中使用RestTemplate向订单微服务发起请求

一般是在支付微服务的service层代码中,步骤如下:

  1. 注入RestTemplate对象
  2. 定义url,包括订单微服务的ip、端口、访问接口、访问参数
  3. 调用RestTemplate的getForObject对象,进行结果的解析和封装
    @Autowiredprivate RestTemplate restTemplate; String url = "http://127.0.0.1:8080/order/"+id;Order order = restTemplate.getForObject(url, Order.class);
String url = "http://127.0.0.1:8080/order/"+id;
Order order = restTemplate.getForObject(url, Order.class);

http://www.yayakq.cn/news/264747/

相关文章:

  • 沈阳沈阳建设工程信息网站wordpress英文写作插件
  • 青岛开发区网站建设哪家好wordpress小说主体
  • 一个网站的成本北京搜索优化推广公司
  • 品牌设计网站WordPress付费会员主题
  • 网站建设公司案例域名绑定wordpress
  • 天创网站centos和wordpress
  • wordpress主页内容修改郑州seo技术顾问
  • 博客网站素材qq云端服务器
  • 山西城乡建设部网站首页杭州网站建设设计
  • 为什么网站之有首页被收录阿里云市场网站建设
  • 个人做网站郊游的英上海专业做网站电话
  • 哪些网站可以做公司制度百度网站地图代码
  • 企业集团网站源码wordpress视频试看付费
  • 创意礼品做的比较好的网站企业营销策划是什么意思
  • 网站首页像素wordpress数据爬虫
  • 网站后台修改内容看不见了宁波网站搜索引擎优化
  • 即墨网站推广wordpress后台下载
  • 夹娃娃网站如何做如何给自己的网站做seo
  • 网站如何交换链接华夏星光工业设计公司
  • 建网站在哪里做广告crm系统是什么意思啊
  • 电商网站开发选题依据wordpress 4.7.0 漏洞
  • 网站建设虚拟主机海尔集团网站是怎么做的
  • 网站建设视频图片网站模板做的比较好的
  • 服务之家网站推广公司深圳注册公司育君财税
  • 手机网站seo优化十大全app软件下载
  • 网站如何做IPV6支持快速开发平台 免费开源
  • 文山住房和城乡建设局网站帮非法集资公司做网站违法吗
  • 建设网站的子文件夹百度推广开户渠道公司
  • 有网站用nodejs做后台国外学做咖啡的网站
  • 网站建设 怎么跑业务青岛网站推广哪家效果好