1.父工程创建及使用 使用idea开发工具,选择File-new- project ,在选项中选择Maven工程,选择jdk版本1.8,勾选maven-archetype-site,点击next,输入GroupId.Artifactid.Version,再点击next,选择自建maven(不建议使用自带的maven),配置maven配置文件和仓库地址. 继续点击next,配置项目路径点击完成. 设置字符编码为UTF-8,防止乱码 由于后续开发需要很多注解,包括第三方的,因此要进行以下设置,选中启…
整体架构 这个图适合中小公司.麻雀虽小 五脏俱全.微服务架构所需要做的事在这个图里基本都有了. 绿色的不讲,主要讲的是这三块(橘黄色的).后面的和运维相关,会讲,不会讲的太深 订单服务 首先来写一个订单服务 从user的项目 复制依赖到order里面 复制过来了 增加starter-web的依赖 创建包 SpringBoot的启动类也复制过来,改个名字叫做OrderApi 新建order包 创建OrderInfo 新建OrderController 写一个创建订单的方法 创建价格服务 用来查询商…
这个图适用于中小公司的微服务架构 微服务:SpringBoot 写的Rest服务 服务注册与发现:微服务所必备的.每个微服务都会到上边去注册.不管是微服务之间的调用,还是服务网关到微服务的转发,都是通过服务注册和发现拿到服务的信息,来进行服务的调用或转发. 配置中心:统一管理配置的地方. 服务网关:所有外部请求的入口.微服务不会直接向外暴露,都是通过服务网关来进行转发. 安全中心:整个微服务的认证授权. 熔断限流:统一的管理微服务的限流.熔断.降级等.. 数据总线:左边大块里发生的所有事情,都会…
上一次我们介绍并演示了如果使用 Consul 做为我们微服务的注册中心,来实现服务的注册与发现.那么本次我们讲会演示如何做日志聚合.日志聚合比较常用的有 ELK 等,但是这次我想要介绍的是一款比较小众的日志聚合工具 - Seq . 日志聚合 日志是我们写程序离不开的一个东西.在我们排查问题的时候日志就是我们的救命稻草.我们的每个服务都在不停的生产日志.但是实施微服务后,如果按照传统的写本地文件的日志方案,显然会面临跟修改配置一样麻烦的境地.不同的日志分散在各个服务器.容器内,这种情况下查日志简直…
前言 哈喽大家周二好,上次咱们说到了实体与值对象的简单知识,相信大家也是稍微有些了解,其实实体咱们平时用的很多了,基本可以和数据库表进行联系,只不过值对象可能不是很熟悉,值对象简单来说就是在DDD领域驱动设计中,为了更好的展示领域模型之间的关系,制定的一个对象,它没有状态和标识,目的就是为了表示一个值.今天呢本来不想说聚合了,因为网上的资料已经铺天盖地,想着开始说领域服务和领域事件了,但是为了本系列的完整性,今天就简单的说一下聚合和聚合根的理解,,如果你已经很明白了,请指出我说的不足之处,以便可…
前言 哈喽,老张是周四放松又开始了,这些天的工作真的是繁重,三个项目同时启动,没办法,只能在深夜写文章了,现在时间的周四凌晨,白天上班已经没有时间开始写文章了,希望看到文章的小伙伴,能给个辛苦赞…
微服务架构编码构建 1 基础知识 1.1 版本 2 微服务cloud整体聚合父工程Project 2.1 new project 2.2 字符编码设置 utf-8 2.3 pom.xml 2.4 父工程创建完成执行mvn:install将父工程发布到仓库方便子工程继承 3 cloud-provider-payment8001微服务提供者支付Module模块 3.1 建cloud-provider-payment8001 3.2 改POM 3.3 写yml 3.4 主启动 3.5 数据库 3.6…
背景 随着公司业务量的飞速发展,平台面临的挑战已经远远大于业务,需求量不断增加,技术人员数量增加,面临的复杂度也大大增加.在这个背景下,平台的技术架构也完成了从传统的单体应用到微服务化的演进. 系统架构的演进过程 单一应用架构(第一代架构) 这是平台最开始的情况,当时流量小,为了节约成本,并将所有应用都打包放到一个应用里面,采用的架构为.net+sqlserver: 表示层 位于最外层(最上层),最接近用户.用于显示数据和接收用户输入的数 据,为用户提供一种交互式操作的界面,平台所使用的是基于.…
Spring Cloud入门 微服务与微服务架构 微服务架构是一种新型的系统架构.其设计思路是,将单体架构系统拆分为多个可以相互调用.配合的独立运行的小程序.这每个小程序对整体系统所提供的功能就称为微服务. 由于每个微服务都具有独立运行的,所以每个微服务都独立占用一个进程.微服务间采用轻量级的HTTP RESTFUL协议通信.每个微服务程序不受编程语言的限制,整个系统关心的是微服务程序所提供的具体服务,并不关心其具体的实现.每个微服务可以有自己独立的数据库.即可以操作自己的独立数据,也可以操作整…
前一篇文章<微服务操作模型>中,我们定义了微服务使用的操作模型.这篇文章中,我们将开始使用Spring Cloud和Netflix OSS实现这一模型,包含核心部分:服务发现(Service Discovery).动态路由(Dynamic Routing).负载均衡(Load Balancing),和边缘服务器(Edge Server),其他部分在后面的文章中介绍. 我们将使用来自Spring Cloud和Netflix OSS的一些核心组件,实现在已部署的微服务交互,不必手动管理配置,如每一…