源码地址:https://gitee.com/fighter3/eshop-project.git 持续更新中-- 在上一个章节,我们已经成功地将服务注册到了Nacos注册中心,实现了服务注册和服务发现,接下来我们要做的是服务间调用. 想一下,我们日常调用接口有哪些方式呢?常见有的有JDK自带的网络连接类HttpURLConnection.Apache Common封装的HttpClient.Spring封装的RestTemplate.这些调用接口工具也许在你看来都并不困难那,但是如果引入fei…
源码地址:https://gitee.com/fighter3/eshop-project.git 持续更新中-- 大家好,我是三分恶. 在前面的章节中,我们已经完成了服务间的调用.统一配置等等,在这一章节里,我们会引入微服务体系的一个重要组件--网关. 网关概述 为什么要引入网关 大家都知道,我们服务端的各个服务调用是从服务注册中心拉取服务列表,再由负载均衡策略去调用对应的服务提供方. 那么,在什么都不做的情况下,看看我们的客户端,包括PC.移动端等等是怎么访问我们的服务端的呢? 这么办有什么…
导读:通过前面两篇文章我们准备好了微服务的基础环境并让accout-service 和 product-service对外提供了增删改查的能力,本篇我们的内容是让order-service作为消费者远程调用accout-service和product-service的服务接口. 统一接口返回结构 在开始今天的正餐之前我们先把上篇文章中那个丑陋的接口返回给优化掉,让所有的接口都有统一的返回结构. 建立公共模块cloud-common 其他模块都引入cloud-common,修改pom文件,加入依赖…
源码地址:https://gitee.com/fighter3/eshop-project.git 持续更新中-- 大家好,我是三分恶. 这一节我们来学习SpringCloud Alibaba体系中一个非常重要的组件--Nacos. 1.Nacos简介 Nacos官方网站:https://nacos.io/zh-cn/ 1.1.什么是Nacos Nacos是阿里巴巴开源的一个动态服务发现.配置管理和服务管理平台. Nacos英文全称Dynamic Naming and Configuration…
源码地址:https://gitee.com/fighter3/eshop-project.git 持续更新中-- 在上一节我们已经完成了Nacos Server的本地部署,这一节我们学习如何将Nacos作为注册中心,管理微服务. 1.注册中心简介 1.1.什么是注册中心 在微服务的体系里,注册中心是最重要的组件之一,我们来简单了解一下什么是注册中心. 注册中心和DNS类似,大家想一想,我们平时访问百度,是访问 www.baidu.com ,还是直接访问ip地址呢? 注册中心就承担了这样一个"名…
源码地址:https://gitee.com/fighter3/eshop-project.git 持续更新中-- 在我们前面介绍Nacos的时候,说到,Nacos除了可以作为注册中心,还可以作为配置中心,而在SpringCloud Netfilx的体系下,这个工作是由Spring Cloud Config完成的. 至于为什么需要配置中心?大家想一下,在微服务开发体系下,整个系统可能被拆分成几十.上百个服务,在生产的时候,每个服务可能部署几十上百个节点,而且通常是又多个环境,如开发.测试.预发布…
SpringCloud Alibaba Spring Cloud Alibaba 致力于提供微服务开发 的一站式解决方案.此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务.依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里 微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统. SpringCloud Alibaba官方文档 1.Spri…
1.存储设计 在上一章中,我们已经完成了基本业务流程的梳理和服务模块的划分,接下来,开始设计数据存储. 虽然在微服务的理论中,没有对数据库定强制性的规范,但一般,服务拆分之后,数据库也会对应的拆分. 这种结合业务来进行拆分的方式是数据库拆分中的垂直拆分. 数据库设计偷个懒,就不再用比较重的Power Designer,直接拿Navicat开干. 根据服务的拆分,分别建立数据库如下: 用户库(shop_user): 建表语句: SET NAMES utf8mb4; SET FOREIGN_KEY_…
选用了很常见的电商业务来进行SpringCloud Alibaba的实战. 当然,因为仅仅是为了学习SpringCloud Alibaba,所以对业务进行了大幅度简化,这里只取一个精简版的用户下单业务. 1.电商业务流程 电商系统下单业务流程图: 这个流程同样进行了简化,一般浏览完商品可能不会直接下单,而是先加入购物车,这里我们略去了这一环节. 接下来,我们要对业务进行细化,可以通过时序图来对业务流程进行细化. 2.扣库存时机 注意看,在我们的泳道图中,扣库存是在用户下订单之后. 在电商系统里,…
根据nacos官方的介绍,Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流量管理. 具有服务发现和服务健康监测.动态配置服务.动态 DNS 服务.服务及其元数据管理等关键特点.与Eureka的对比,可参考SpringCloud学习之[Eureka实现服务注册与发现] nacos基本架构及概念 服务 (Service) 服务是指一个或一组软件功能(例如特定信息的检索或一组操作的执行),其目的是不同的客户端可…