Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >领导让我做个独立服务

领导让我做个独立服务

作者头像
Java阿呆
发布于 2021-08-23 05:52:30
发布于 2021-08-23 05:52:30
4240
举报
文章被收录于专栏:Java阿呆Java阿呆

好久不见,我是阿呆

如题,这季度要做的需求,是一个独立模块,但是由于项目越来越大,模块间的结构越来越复杂,不得不面临的一个问题就是服务拆分,当然,在拆分之前,新加的模块,最好还是直接做成一个独立的服务,这不,要把本季度的需求,单独做一个服务出来,因为这是项目的第一个独立服务,所以要考虑和准备不少东西,蛮有挑战性的,在这里总结下我对微服务浅陋的见解。

01

GATEWAY

网关路由

要想做一个独立的服务出来,首先需要解决的就是服务间的路由问题,因为当前只有一个服务,所有的API都指向这个服务,当有另外一个服务之后,就需要解决API层的路由问题。

比如说,当前的项目服务是ServiceA,服务域名是www.service.com,所有访问该服务的API都以/A开头,即http://www.service.com/A,这个时候加入一个ServiceB,所有的API都以/B开头,那么访问服务B的URL就是http://www.service.com/B,说起来很简单,但是服务器怎么知道/A就是ServiceA,/B是ServiceB呢,这时候就需要一个网关的角色,来做这个路由:

后续如果有ServiceC的话,直接在网关服务中配置对应的路由即可。

02

SERVICE-REGISTER

服务注册中心

有了路由之后,似乎还有另外一个问题,网关也是一个服务,那冥冥之中,网关去哪里能找ServiceA和ServiceB呢,所以需要有一个集中管理这些服务的地方,即服务注册中心,网关服务、ServiceA、ServiceB都向这个注册中心注册服务,这样这些服务都是一家人了,网关服务当然就能找到它的家人了:

后续如果有新的服务ServiceC,那只需将ServiceC也注册到注册中心即可。

03

COMMUNICATION

服务间通信

到这里,似乎一切都很完美了,吗?并没有,如果ServiceA和ServiceB之间想通信怎么办?似乎没有考虑到哦。

服务间的调用,是不可以走网关的,只能通过彼此的客户端调用,客户端调用有两种方式,一种是RestTemplate,一种是Feign,这两种方式就不展开讲了,知道有这么回事就行了(因为我也不会

)。

那么这样的话,这个图就变成了这个样子:

04

TECHNOLOGY

技术选型

基本的思路有了之后,就要选择具体的实现框架,对于网关,可以选择Zuul或者SpringCloud Gateway,我们的项目选择后者,对于注册中心,可以选择Eureka,或Consul,或Zookeeper,或者阿里的新型框架,Nacos,我们项目选择Nacos,服务调用就用Feign,就这么定了,谁说都不好使的那种。

05

Database

数据库表间解耦

既然拆分了服务出来,那么数据库表自然要解耦,不管分不分库出来,解耦是一定要做的,数据库层的解耦,体现在不改变原表结构的情况下,完成新表的设计,同时不能使用外键关联,尽管多几张关联表。

06

LAST

最后

最后,的最后,记录几点微服务拆分的规范:

微服务拆分规范

1、服务拆分最多三层,两次调用;

2、服务间仅仅单向调用,严禁循环调用;

3、将串行调用改为并行调用,或者异步调用;

4、接口应该实现幂等;

5、接口数据定义严禁内嵌、透传;

6、规范化工程名;

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Coder阿呆 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
聊一聊常见的网络设备、网络架构和数据通信模型
作为一个研发工程师,除了在学校课堂上学习的计算机网络之外,大多数的情况都是不会接触到关于网络知识的;从编程语言上,网络也被抽象成 socket,关于网络硬件部分更是陌生,日常家里能够接触到的也就是路由器。但是实际上不管在生活中还是工作中,网络和数据通信都无处不在;那些不管是你看得见的网络设备,还是你看不见的数据通信,都在每时每刻的不停的运转着,支撑着庞大的数字信息时代。
磊叔的技术博客
2025/06/09
1340
聊一聊常见的网络设备、网络架构和数据通信模型
21张图详解网络基础知识
我们用手机连接上网的时候,会用到许多网络协议。从手机连接 WiFi 开始,使用的是 802.11 (即 WLAN )协议;手机自动获取网络配置,使用的是 DHCP 协议。这时手机已经连入局域网了,可以访问局域网内的主机和资源,但还不能使用互联网应用,例如:微信、抖音等。想要访问互联网,还需要在手机的上联网络设备上进行配置,即在无线路由器上配置 NAT、 PPPOE 等功能,才能把局域网接入到互联网中,手机就可以上网玩微信、刷抖音了。
网络工程师笔记
2021/05/17
9240
21张图详解网络基础知识
H3C 笔记整理
青灯古酒
2023/10/16
2570
收藏:通信网络基础知识
我们周围无时无刻不存在一张网,如电话网、电报网、电视网、计算机网络等;即使我们身体内部也存在许许多多的网络系统,如神经系统、消化系统等。最为典型的代表即计算机网络,它是计算机技术与通信技术两个领域的结合。
程序员小猿
2021/12/06
5470
收藏:通信网络基础知识
1.1 网络基础知识
一、网络的定义 定义: 简单定义: “互联起来的独立自主的计算机集合”; 完整的定义:“利用通信设备和线路,将分布在不同地理位置的、功能独立的多个计算机系统连接起来,以功能完善的网络软件(网络通信协议及网络操作系统等)实现网络中资源共享和信息传递的系统” ; 二、计算机网络的功能 数据交换和通信 计算机网络中的计算机之间或计算机与终端之间,可以快速可靠 地相互传递数据、程序或文件。 资源共享 充分利用计算机网络中提供的资源(包括硬件、软件和数据)是计算机网络组网的主要目标之一。 提高系统的可靠性
运维小白
2018/04/17
9820
1.1  网络基础知识
36张图详解网络基础知识
我们用手机连接上网的时候,会用到许多网络协议。从手机连接 WiFi 开始,使用的是 802.11 (即 WLAN )协议,通过 WLAN 接入网络;手机自动获取网络配置,使用的是 DHCP 协议,获取配置后手机才能正常通信。这时手机已经连入局域网,可以访问局域网内的设备和资源,但还不能使用互联网应用,例如:微信、抖音等。想要访问互联网,还需要在手机的上联网络设备上实现相关协议,即在无线路由器上配置 NAT、 PPPOE 等功能,再通过运营商提供的互联网线路把局域网接入到互联网中,手机就可以上网玩微信、刷抖音了。
释然IT杂谈
2022/10/27
8580
36张图详解网络基础知识
计算机网络基础知识
计算机网络的知识与我们的生活息息相关,对于每一个开发者来说更是十分重要,深入理解它,将有助于我们在实际工作中迅速解决相关问题。本篇就计算机网络的基本知识进行概要性总结。
梧雨北辰
2018/07/24
10.6K0
计算机网络基础知识
【计算机网络一】网络学习前置知识
随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同工作来完成业务,就有了网络互连。
小皮侠
2024/10/26
1030
【计算机网络一】网络学习前置知识
计算机网络期末考试题库(超级多的那种)「建议收藏」
你好,我是罡罡同学! 代码谱第一页忘掉心上人,最后一页。。。。。。 废话不多说,不管是应对期末考试还是考研基础复习,刷题是必不可少的!!! 大家冲就完了!!!! 记得给 罡罡同学点关注哦! 后期还会更新其他题库的呢!!! 另外还有4套模拟题哦!!!
全栈程序员站长
2022/09/07
12.1K0
计算机网络期末考试题库(超级多的那种)「建议收藏」
图解网络:36张图详解网络基础知识
我们用手机连接上网的时候,会用到许多网络协议。从手机连接 WiFi 开始,使用的是 802.11 (即 WLAN )协议,通过 WLAN 接入网络;手机自动获取网络配置,使用的是 DHCP 协议,获取配置后手机才能正常通信。这时手机已经连入局域网,可以访问局域网内的设备和资源,但还不能使用互联网应用,例如:微信、抖音等。想要访问互联网,还需要在手机的上联网络设备上实现相关协议,即在无线路由器上配置 NAT、 PPPOE 等功能,再通过运营商提供的互联网线路把局域网接入到互联网中,手机就可以上网玩微信、刷抖音了。
ICT系统集成阿祥
2024/12/03
2350
图解网络:36张图详解网络基础知识
网络基础概念与应用:深入理解计算机网络
计算机网络作为现代信息技术的重要支柱,是连接世界各地的重要纽带。它使得计算机能够相互通信、协同工作,从而极大地提高了我们的工作效率和生活质量。本篇文章将深入探讨计算机网络的基础概念,覆盖网络的分层模型、协议、数据传输原理以及 Socket 编程等内容。希望通过这篇文章,大家能够对计算机网络的核心概念有一个系统而深入的理解。
用户11289931
2024/11/24
3350
【计算机网络】计算机网络概述 : 总结 ( 概念 | 组成 | 功能 | 分类 | 性能指标 | OSI 七层参考模型 | TCP/IP 模型 | 五层参考模型 )★★★
参考博客 : 【计算机网络】计算机网络 相关概念 ( 计算机网络概念 | 计算机网络功能 | 组成 | 工作方式 | 功能组成 | 分类 )
韩曙亮
2023/03/28
1.7K0
网络之网络基础入门
从本文开始,我们来学习计算机网络。本文主要介绍了局域网和广域网、协议、TCP/IP四层模型、网络传输的基本流程、IP地址和MAC地址等相关概念。
摘星
2023/10/15
4710
网络之网络基础入门
网络参考模型
网络相邻节点之间通过接口进行通信,下层为上层提供服务。当网络发生故障,很容易确定问题。
DevOps云学堂
2019/10/18
5310
【愚公系列】软考高级-架构设计师 022-网络互联模型
网络互联模型和协议是计算机网络领域的基础概念,它们定义了网络设备如何传输数据以及如何确保数据的准确和安全传输。这些模型和协议层次化的结构帮助简化网络设计,并使不同类型的硬件和软件能够进行互操作。下面是两个最著名的网络模型:OSI模型和TCP/IP模型。
愚公搬代码
2024/06/11
1570
网络基础一 交换机 路由器 OSI7层模型
惨绿少年
2017/12/27
1.1K0
TCP/IP(一)之开启计算机网络之路
前言   在一段时间里,都很想知道一台电脑怎么跟另一台电脑通信的,我发送一个qq给女朋友,怎么准确的发送过去的,又是怎么接受消息的。   接下来一段时间给大家慢慢分享关于计算机网络的相关知识。 一、局域网、广域网和Internet 1.1、局域网   1)概述   局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现     文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭型
用户1195962
2018/01/18
1.4K0
TCP/IP(一)之开启计算机网络之路
【网络】网络基础概念&&背景&&TCP/IP 五层模型&&跨网络传输详解
所谓 "局域网" 和 "广域网" 只是一个相对的概念. 比如, 我们有 "天朝特色" 的广域网, 也可以看做一个比较大的局域网
用户10925563
2024/08/29
1390
【网络】网络基础概念&&背景&&TCP/IP 五层模型&&跨网络传输详解
初识网络基础
由于缺乏互联性,早期的计算机系统无法实现有效的资源共享。只能依靠光驱和网盘经行将数据拷贝,线下将数据经行传输,每台计算机都需要独立处理自己的任务和数据,导致资源利用率较低。这促使了计算机网络的发展,以实现计算机之间的通信和协作。
薄荷冰
2024/02/06
1630
初识网络基础
干货!网工必看的网络通信基础知识
由一台路由器(或交换机)和多台计算机设备组成的小型网络。在这样的网络中,通过路由器的中转,每两台计算机之间都可以自由地传递文件。
网络工程师笔记
2021/05/17
2.1K0
干货!网工必看的网络通信基础知识
相关推荐
聊一聊常见的网络设备、网络架构和数据通信模型
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档