社区
高性能WEB开发
帖子详情
微服务后台的数据库是每个微服务一个用户一个库是吗
depositpei
2019-09-18 04:08:14
1、当前做全新的微服务开发使用springboot,目前有个疑问是每个微服务一个用户一个数据库,然后数据库中建立当前微服务的表,各微服务之间用rest接口通讯,目前想法这样,大家实际项目都是如何做的
...全文
1274
2
打赏
收藏
微服务后台的数据库是每个微服务一个用户一个库是吗
1、当前做全新的微服务开发使用springboot,目前有个疑问是每个微服务一个用户一个数据库,然后数据库中建立当前微服务的表,各微服务之间用rest接口通讯,目前想法这样,大家实际项目都是如何做的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sxty0220
2019-10-17
打赏
举报
回复
1
微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。 可以在“自己的程序”中运行,并通过“轻量级设备与HTTP型API进行沟通”。关键在于该服务可以在自己的程序中运行。通过这一点我们就可以将服务公开与微服务架构(在现有系统中分布一个API)区分开来。在服务公开中,许多服务都可以被内部独立进程所限制。如果其中任何一个服务需要增加某种功能,那么就必须缩小进程范围。在微服务架构中,只需要在特定的某种服务中增加所需功能,而不影响整体进程。 数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作,增删改查的开销也会越来越大;另外,由于无法进行分布式式部署,而一台服务器的资源(CPU、磁盘、内存、IO等)是有限的,最终数据库所能承载的数据量、数据处理能力都将遭遇瓶颈。 分库分表的实施策略。 分库分表有垂直切分和水平切分两种。 何谓垂直切分,即将表按照功能模块、关系密切程度划分出来,部署到不同的库上。例如,我们会建立定义数据库workDB、商品数据库payDB、用户数据库userDB、日志数据库logDB等,分别用于存储项目数据定义表、商品定义表、用户数据表、日志数据表等。 何谓水平切分,当一个表中的数据量过大时,我们可以把该表的数据按照某种规则,例如userID散列,进行划分,然后存储到多个结构相同的表,和不同的库上。例如,我们的userDB中的用户数据表中,每一个表的数据量都很大,就可以把userDB切分为结构相同的多个userDB:part0DB、part1DB等,再将userDB上的用户数据表userTable,切分为很多userTable:userTable0、userTable1等,然后将这些表按照一定的规则存储到多个userDB上。 应该使用哪一种方式来实施数据库分库分表,这要看数据库中数据量的瓶颈所在,并综合项目的业务类型进行考虑。
田小瘦
2019-09-27
打赏
举报
回复
微服务跟库是两码事, 库需不需要分开看实际项目情况来, 想分就分 不分就不分,微服务的概念传统上说只是服务是分开的
微服务
?
数据库
?它们之间到底是啥关系?
过去几年来,“
微服务
架构”这个术语持续火热,它描述了一种将软件应用程序设计为可独立部署的服务套件的特定方式。尽管这种架构风格没有确切的定义,但围绕业务能力,自动化部署,网点智能以及语言和数据的分散控制等方面存在着某些共同特征。 简而言之,
微服务
架构是一种将单应用程序作为一套小型服务开发的方法,每种应用程序都在其自己的进程中运行,并与轻量级机制(通常是HTTP资源的API)进行通信。这些服务是围绕业务功能构建的,可以通过全自动部署机制进行独立部署。这些
微服务
的将集中化管理部分降到最少,同时,
微服务
还可以用不
微服务
架构案例(03):
数据库
选型简介,业务数据规划设计
数据库
设计是
微服务
设计的
一个
核心点,基本原则是
每个
微服务
都有自己单独的
数据库
,而且只有
微服务
本身可以访问这个
数据库
。在
微服务
架构中,
数据库
设计首先要满足
用户
的需求,便于维护和扩展,具有很好的读写性能,还可以帮助开发人员理解和管理系统。ENDhttpshttps。...
微服务
架构简介
微服务
软件架构是
一个
包含各种组织的系统组织,这些组件包括 Web服务器, 应用服务器,
数据库
,存储, 通讯层), 它们彼此或和环境存在关系。系统架构的目标是解决利益相关者的关注点。 image Conway’s law: Organizations which design systems[...] are constrained to produce designs which are copies of the communication structures
微服务
分库分表
由于数据量过大会导致
数据库
性能降低,所以使用分库分表将原来独立的
数据库
拆分为若干
数据库
,将数据大表拆分成若干数据表,使得单一
数据库
、单一数据表的数据量变小,从而达到提升
数据库
性能的目的。...
微服务
和
数据库
到底是什么关系?
过去几年来,“
微服务
架构”这个术语持续火热,它描述了一种将软件应用程序设计为可独立部署的服务套件的特定方式。尽管这种架构风格没有确切的定义,但围绕业务能力,自动化部署,网点智能以及语言和数据的分散控制等方面存在着某些共同特征。 简而言之,
微服务
架构是一种将单应用程序作为一套小型服务开发的方法,每种应用程序都在其自己的进程中运行,并与轻量级机制(通常是HTTP资源的API)进行通信。这些服...
高性能WEB开发
25,985
社区成员
4,366
社区内容
发帖
与我相关
我的任务
高性能WEB开发
高性能WEB开发
复制链接
扫一扫
分享
社区描述
高性能WEB开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章