微服务有哪些设计原则?python grpc如何给proto文件中map类型的变量赋值

2025-03-24 23:30:01 0

微服务有哪些设计原则?python grpc如何给proto文件中map类型的变量赋值

本文目录

微服务有哪些设计原则

微服务应用4个设计原则:

我们总结了四个原则推荐给大家:

  • AKF拆分原则

  • 前后端分离

  • 无状态服务

  • Restful通信风格

  • 1.AKF拆分原则

    AKF扩展立方体(参考《The Art of Scalability》),是一个叫AKF的公司的技术专家抽象总结的应用扩展的三个维度。理论上按照这三个扩展模式,可以将一个单体系统,进行无限扩展。

    X 轴 :指的是水平复制,很好理解,就是讲单体系统多运行几个实例,做个集群加负载均衡的模式。

    Z 轴 :是基于类似的数据分区,比如一个互联网打车应用突然或了,用户量激增,集群模式撑不住了,那就按照用户请求的地区进行数据分区,北京、上海、四川等多建几个集群。

    Y 轴 :就是我们所说的微服务的拆分模式,就是基于不同的业务拆分。

    场景说明:比如打车应用,一个集群撑不住时,分了多个集群,后来用户激增还是不够用,经过分析发现是乘客和车主访问量很大,就将打车应用拆成了三个乘客服务、车主服务、支付服务。三个服务的业务特点各不相同,独立维护,各自都可以再次按需扩展。

    2.前后端分离

    前后端分离原则,简单来讲就是前端和后端的代码分离也就是技术上做分离,我们推荐的模式是最好直接采用物理分离的方式部署,进一步促使进行更彻底的分离。不要继续以前的服务端模板技术,比如JSP ,把Java JS HTML CSS 都堆到一个页面里,稍复杂的页面就无法维护。这种分离模式的方式有几个好处:

  • 前后端技术分离,可以由各自的专家来对各自的领域进行优化,这样前端的用户体验优化效果会更好。

  • 分离模式下,前后端交互界面更加清晰,就剩下了接口和模型,后端的接口简洁明了,更容易维护。

  • 前端多渠道集成场景更容易实现,后端服务无需变更,采用统一的数据和模型,可以支撑前端的web UI\ 移动App等访问。

  • 3.无状态服务

    对于无状态服务,首先说一下什么是状态:如果一个数据需要被多个服务共享,才能完成一笔交易,那么这个数据被称为状态。进而依赖这个“状态”数据的服务被称为有状态服务,反之称为无状态服务。

    那么这个无状态服务原则并不是说在微服务架构里就不允许存在状态,表达的真实意思是要把有状态的业务服务改变为无状态的计算类服务,那么状态数据也就相应的迁移到对应的“有状态数据服务”中。

    场景说明:例如我们以前在本地内存中建立的数据缓存、Session缓存,到现在的微服务架构中就应该把这些数据迁移到分布式缓存中存储,让业务服务变成一个无状态的计算节点。迁移后,就可以做到按需动态伸缩,微服务应用在运行时动态增删节点,就不再需要考虑缓存数据如何同步的问题。

    4.Restful通信风格

    作为一个原则来讲本来应该是个“无状态通信原则”,在这里我们直接推荐一个实践优选的Restful 通信风格 ,因为他有很多好处:

  • 无状态协议HTTP,具备先天优势,扩展能力很强。例如需要安全加密是,有现成的成熟方案HTTPS可用。

  • JSON 报文序列化,轻量简单,人与机器均可读,学习成本低,搜索引擎友好。

  • 语言无关,各大热门语言都提供成熟的Restful API框架,相对其他的一些RPC框架生态更完善。

  • 当然在有些特殊业务场景下,也需要采用其他的RPC框架,如thrift、avro-rpc、grpc。但绝大多数情况下Restful就足够用了。

python grpc如何给proto文件中map类型的变量赋值

改完之后,你可以选择project-》clean,clean后你项目的R.java文件就会重新生成,所有的资源ID会重新分配,这样子你所修改的资源才能被Android真正识别,有时这个操作不是必要的,但是如果出现你修改了资源后,你的项目中出现了一些问题,那么执行Clean是一个必须的选择,这些资源包括drawable下的图片,布局里id的修改,values下资源的修改,你可以着手试一下 Good luck

在Ubuntu的环境下怎么交叉编译grpc到cortex-a9架构

1、 解压工具链压缩包$ cd ~$ mkdir toolchain$ cd toolchain gcc-4.6.4.tar.xz拷贝到toolchain目录下并解压$ tar xvf gcc-4.6.4.tar.xz2、 环境变量的添加修改文件/etc/bash.bashrc添加如下内容export PATH=$PATH:/home/linux/toolchain/gcc-4.6.4/bin重启配置文件$ source /etc/bash.bashrc

微服务有哪些设计原则?python grpc如何给proto文件中map类型的变量赋值

本文编辑:admin
微服务 ,grpc

本文相关文章:


微服务是什么(微服务和普通应用有什么不同)

微服务是什么(微服务和普通应用有什么不同)

本文目录微服务和普通应用有什么不同微服务是现在的技术主流吗微服务相关的开源技术流派有哪些微服务和普通应用有什么不同微服务是一种架构模式,其核心是将一个单体应用分成多个部分进行开发。所以微服务架构的应用程序,其本质上是一个分布式应用。基于微服

2025年3月13日 10:50

更多文章:


网络规划设计师通过率(关于准备网络规划师,其实之前一直犹豫考CCNA还是网络规划师 之间徘徊但是最后打算还是想学习网规)

网络规划设计师通过率(关于准备网络规划师,其实之前一直犹豫考CCNA还是网络规划师 之间徘徊但是最后打算还是想学习网规)

本文目录关于准备网络规划师,其实之前一直犹豫考CCNA还是网络规划师 之间徘徊但是最后打算还是想学习网规想考软考网络规划设计师网络规划设计师培训哪里好关于准备网络规划师,其实之前一直犹豫考CCNA还是网络规划师 之间徘徊但是最后打算还是想学

2025年4月3日 21:30

netstat查看端口(如何查看端口占用情况)

netstat查看端口(如何查看端口占用情况)

本文目录如何查看端口占用情况在netstat中怎么查端口号,只有外部和内部地址,看不懂哪个是端口号netstat怎样查看端口占用端口怎么查看怎样查到电脑的网络端口如何查看端口占用情况下面一起来看看怎么使用cmd查看端口占用情况吧。1、首先进

2025年3月4日 12:50

如何剪辑出一段好的影视作品?如何剪裁视频

如何剪辑出一段好的影视作品?如何剪裁视频

本文目录如何剪辑出一段好的影视作品如何剪裁视频如何截取视频片段如何剪辑出一段好的影视作品第一剪辑影视作品对于每个人都是各有千秋的,因为每个人对电影的理解都不相同,一千部电影就有一千个哈姆雷特,所以想剪辑好影视作品,首先要看一遍作品,在根据对

2025年3月15日 21:00

frameset框架背景图片(frame怎么加背景图和背景色)

frameset框架背景图片(frame怎么加背景图和背景色)

本文目录frame怎么加背景图和背景色html框架怎么添加背景颜色java web frame框架怎么设置背景图jsp加背景图片(javascript,css)如果用frameset将窗口分成五个frame了,还能用一张大图作为整个窗口的背

2025年2月15日 05:00

norman conquest(What were the consequence of the Norman Conquest)

norman conquest(What were the consequence of the Norman Conquest)

本文目录What were the consequence of the Norman ConquestThe Norman Conquest到底是什么What were the consequence of the Norman Conq

2025年4月1日 23:10

residential是什么意思(residential什么意思)

residential是什么意思(residential什么意思)

本文目录residential什么意思residential home是什么意思请问这里的residential是什么意思下面写的那些又是什么谢谢residential什么意思,怎么读residential是什么意思residential

2025年3月10日 11:20

jfinal框架教程(使用jfinal框架验证登录时应该使用什么方法)

jfinal框架教程(使用jfinal框架验证登录时应该使用什么方法)

本文目录使用jfinal框架验证登录时应该使用什么方法jfinal框架怎么用java代码创建数据表浅谈java框架jfinal和nutz的区别JFinal框架怎么实现页面登录统计使用jfinal框架,查询功能有没有极简的设计方案jfinal

2025年2月26日 13:50

数据透视表教程(怎么插入数据透视表)

数据透视表教程(怎么插入数据透视表)

本文目录怎么插入数据透视表Excel数据透视表怎么做excel数据透视表教程透视图excel教程excel怎样做透视表数据透视图excel教程Excel2007如何插入数据透视表步骤怎么插入数据透视表Excel教程:如何制作数据透视表?简单

2025年3月8日 04:40

心理学入门书籍免费看(心理学入门必读书籍)

心理学入门书籍免费看(心理学入门必读书籍)

本文目录心理学入门必读书籍几本心理学入门书籍心理学小白该看哪些入门书籍推荐几本心理学入门书籍心理学入门必读书籍《津巴多普通心理学》《心理学与生活》《思考,快与慢》《三种心理学》《人格心理学》1.《津巴多普通心理学》——十分适合初学心理学的读

2025年3月20日 11:30

国外ip代理(那里可找到免费的国外IP代理)

国外ip代理(那里可找到免费的国外IP代理)

本文目录那里可找到免费的国外IP代理如何获得国外的代理IP怎么找国外的代理IP呢如何设置国外代理IP什么是代理ip,代理ip有什么作用那里可找到免费的国外IP代理62.201.205.226:8080@HTTP#伊拉克 Unknown62.

2025年3月15日 17:00

even though和though的区别(even though和though有什么区别)

even though和though的区别(even though和though有什么区别)

本文目录even though和though有什么区别even though和though的区别though和eventhough的区别even though 和though ,although分别什么意思怎么用even though和th

2025年3月7日 11:00

consultant动词(consultation的动词形式)

consultant动词(consultation的动词形式)

本文目录consultation的动词形式consult 的用法consultation的动词形式consultation的动词形式consult会诊;咨询;充当顾问;vt.请教;翻阅;求教于;顾及;consult 的用法consult的具

2025年4月4日 21:10

onscroll(修改了scrollTop的值,不会触发onscroll事件吗)

onscroll(修改了scrollTop的值,不会触发onscroll事件吗)

本文目录修改了scrollTop的值,不会触发onscroll事件吗js 中 手动点击按钮 实现onscroll的方法onscroll 事件为什么不执行修改了scrollTop的值,不会触发onscroll事件吗不管你是修改scrollTo

2025年4月3日 12:40

recorders(recorder 复数)

recorders(recorder 复数)

本文目录recorder 复数recorder什么意思recorder 复数recordersn. 录音机(recorder的复数)recorder n. 录音机;记录器;记录员;八孔直笛希望对你有帮助 如有疑问 请在线交谈 祝你考上理想

2025年3月23日 05:10

sql基础面试题(SQL语句面试题)

sql基础面试题(SQL语句面试题)

本文目录SQL语句面试题SQL面试题SQL语句面试题select a.user_job as “职业“,b.man_num as “男性人数“,c.woman_num as “女性人数“,count(id) as “总人数“ from us

2025年3月6日 09:20

ppt触发器设置步骤(ppt里的触发器怎么用)

ppt触发器设置步骤(ppt里的触发器怎么用)

本文目录ppt里的触发器怎么用ppt触发器怎么设置ppt里的触发器怎么用1、首先在PPT页面中插入几个图形或者其他图片,需要在图形上设置触发效果。2、然后点击其中一张图片,并选择工具栏中的“动画”选项,点击其中一种动画效果。3、然后点击动画

2025年2月19日 16:40

reduce反义词(英语“expand”的反义词是什么)

reduce反义词(英语“expand”的反义词是什么)

本文目录英语“expand”的反义词是什么Decrease和reduce有什么区别expand的近义词 freedom的近义词 export的反义词 reduce的反义词 skim的近义词increase的反义词是什么reduce的反义词d

2025年2月13日 15:00

messenger下载最新版本(怎样下载MSN messager)

messenger下载最新版本(怎样下载MSN messager)

本文目录怎样下载MSN messagermsn是什么在哪可以下载Install_Messenger最新版如何下载MSN怎样下载MSN messagerMSNMessenger是微软公司推出的即时消息软件,使用MSNMessenger可以与他

2025年4月2日 05:50

int是什么数据类型(在计算机语言中INT是什么意思)

int是什么数据类型(在计算机语言中INT是什么意思)

本文目录在计算机语言中INT是什么意思int类型是什么类型int类型是什么在计算机语言中INT是什么意思INT是数据库中一种数据类型。作为函数,INT函数指数据库中常用函数中的“向下取整函数”。在编程语言(C、C++、C#、Java等)中,

2025年2月21日 20:00

局域网直播服务器搭建(如何建立(公司)内部使用的局域网服务器)

局域网直播服务器搭建(如何建立(公司)内部使用的局域网服务器)

本文目录如何建立(公司)内部使用的局域网服务器怎么建立局域网服务器如何建立(公司)内部使用的局域网服务器建立(公司)内部使用的局域网服务器步骤如下:步骤一:设置共享为了确定局域网共享电脑的地址信息,首先需设置电脑用户名,方便查找。2.设置电

2025年4月4日 08:40

近期文章

million billion(million,billion和thousand之间应该怎么转化 要举例的那种 谢谢)
2025-04-05 17:30:01
本站热文

harbor,port,pier的区别?谁能解释“harbour“(港口)与“pier“(码头)的区别
2025-02-22 17:40:03 浏览:18
ibatis foreach(ibatis 批量update操作)
2025-02-10 23:40:06 浏览:7
endless rain(endless rain表达什么情感)
2025-02-14 06:00:02 浏览:6
标签列表

热门搜索