首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏blackheart的专栏

    4.基于网络应用架构风格

    衔接上文[解读REST] 3.基于网络应用架构,上文介绍了一组自洽术语来描述和解释软件架构;如何利用架构属性评估一个架构风格;以及对于基于网络应用架构来说,那些架构属性是值得我们重点关注评估。 本篇在以上基础上,列举一下一些常见(REST除外)适用于基于网络应用架构风格,并使用对比架构属性方式对其进行评估。 4 分层风格(Hierarchical Style) 4.1 客户-服务器(Client-Server = CS) 服务器组件提供了一组服务,并监听对这些服务请求;客户端组件通过一个连接器把请求发送给服务器 参考资料 理解本真的REST:http://www.infoq.com/cn/articles/understanding-restful-style/ 架构风格与基于网络软件架构设计-导读:http ://www.infoq.com/cn/articles/doctor-fielding-article-review 架构风格与基于网络软件架构设计:http://www.infoq.com/cn/

    1K50发布于 2018-01-19
  • 来自专栏禁心尽力

    基于服务SOA架构_后续篇

    昨天简单介绍了一下本人在近期开发过一个电商购物平台架构流程和一些技术说明;今天将详细总结一下在项目中用到各个架构技术环境部署和细节,希望能够帮到大家,如有瑕疵,请各位大神指正。    一:详谈服务治理核心框架之Dubbo及注册中心zookeeper   首先说说Dubbo这个框架吧,接触这个框架是在去年年底,当时我们公司架构师震哥赏了我一点关于架构方面的资料,我看了几天感觉挺对它们感冒 ,所以就想着学学架构,哪天当当架构师,呵呵,这只是个近期目标,好了,还是吹吹主角dubbo吧。    Dubbo它是阿里巴巴出品开源分布式框架,它最大特点是可以用分层架构,使表现层和业务层实现解耦合。 最后赠送几张我们项目的总体架构流程图及模块分析图,可能有点不清晰,大家就将就瞅瞅,莫怪。【其他技术架构分享后期还会更新,希望大家能够支持,谢谢】 ? ?

    822100发布于 2018-01-24
  • 来自专栏Python中文社区

    基于Sanic服务基础架构

    正是结合这些优点, 以Sanic为基础,集成多个流行库来搭建微服务。 Sanic框架是和Flask相似的异步协程框架,简单轻量,并且性能很高。 本项目就是以Sanic为基础搭建服务框架。 sanic使用uvloop异步驱动,uvloop基于libuv使用Cython编写,性能比nodejs还要高。 ,对客户端进行了简单封装,用于微服务之间访问。 Opentracing跟踪每一个请求,记录请求所经过每一个微服务,以链条方式串联起来,对分析微服务性能瓶颈至关重要。 使用opentracing框架,但是在输出时转换成zipkin格式。 """ INSERT INTO users(name, age, city_id, role_id) VALUES($1, $2, $3, $4,

    4K70发布于 2018-03-26
  • 来自专栏JAVA烂猪皮

    基于 Docker 服务架构实践

    本文来自作者 未闻 在 GitChat 分享{基于 Docker 服务架构实践} 前言 基于 Docker 容器技术是在2015年时候开始接触,两年多时间,作为一名 Docker DevOps 本文主要是结合在公司搭建服务架构实践过程,做一个简单总结。希望给在创业初期探索如何布局服务架构体系 DevOps,或者想初步了解企业级架构同学们一些参考。 在微服务架构体系中,使用DDD思想划分服务限界上下文时候,会尽量减少微服务之间调用。为了解耦微服务,便有了基于API Gateway方式优化方案。 Neo4j是一种基于Java实现支持ACID图形数据库。其提供了丰富JavaAPI。在性能方面,图形数据库局部性使遍历速度非常快,尤其是大规模深度遍历。 在项目使用时可以集成SpringData项目Spring Data Neo4j。

    2.8K31发布于 2018-08-03
  • 来自专栏超级架构师

    「微服务架构基于NGINX三种微服务参考架构

    我们还认识到,实现微服务有许多不同方法,其中许多方法都是新颖,并且特定于各个开发团队需求。我们认为需要使用模型来使公司更容易开发和交付自己基于服务应用程序。 考虑到这一切,NGINX专业服务部门正在开发NGINX微服务参考架构(MRA) - 一组可用于创建自己服务应用程序模型。 我们构建此参考架构目标有三个: 为客户和行业提供随时可用蓝图,用于构建基于服务系统,加速和改进开发 创建用于测试NGINX和NGINX Plus中新功能平台,无论是内部开发还是外部开发,分布在产品核心中或作为动态模块 为了帮助我们了解合作伙伴系统和组件,我们可以从整体上了解微服务生态系统 微服务参考架构也是NGINX客户专业服务产品重要组成部分。 微服务参考架构概述 我们正在构建参考架构以符合Twelve-Factor App原则。这些服务设计为轻量级,短暂和无状态

    2K10发布于 2019-08-21
  • 来自专栏超级架构师

    (4) 微服务架构采用准则

    顾名思义,微服务体系结构是将服务器应用程序构建为一组小型服务方法。这意味着微服务架构主要面向后端,尽管这种方法也用于前端。 每个微服务在特定上下文边界内实现特定端到端域或业务能力,并且每个微服务都必须自主开发和独立部署。 最后,每个微服务都应该拥有其相关域数据模型和域逻辑(主权和分散数据管理),并且可以基于不同数据存储技术(SQL、NoSQL)和不同编程语言。 微服务应该有多大? 在开发微服务时,大小不应该是重点。相反,重要一点应该是创建松散耦合服务,这样您就可以为每个服务自主地进行开发、部署和扩展。 当然,在识别和设计微服务时,只要不与其他微服务有太多直接依赖关系,就应该尽量使它们尽可能小。比微服务大小更重要是它必须具有的内部内聚性及其与其他服务独立性。

    35731发布于 2020-07-18
  • 来自专栏超级架构师

    服务与SOA架构(4

    基于web应用也不太适合SOA因为不要大量服务术语、不需要抽象层或消息中间件。 微服务模式更适合于小型、功能划分明确基于web系统而不是大规模企业级系统。 许多银行与保险系统仍然有大量后台核心处理采用COBOL大机应用,而这些应用需要被现代基于Web平台访问。整合多个异构系统和服务能力微服务架构与SOA相比稍显薄弱地方之一。 如图4-1所示,事实上,了解服务客户与服务之间所采用远程访问协议并不意味着就了解任何一方是如何实现,也不意味着双方在实现上要保持一致。 图4-2 如果你发现自己所处是异构环境,需要对多种使用不同协议系统或者服务进行整合,那么很可能需要采用SOA架构而不是微服务架构。 图4-3给出了一个这样例子。数据库或者缓存查询可以基于customer ID得到账户号,基于CUSIP代码股票号码。日期可以被转换成不同格式,交易股数则可以不做转换地拷贝到新数据结构。

    1.3K40发布于 2018-04-09
  • 来自专栏无敌码农

    基于SpringCloud服务架构演变史?

    经过一系列重构+扩展,整个系统架构最终形成了以app为中心一套微服务软件系统,结构如下: ? 到这里,整个软件系统就基于SpringCloud初步完成了微服务体系拆分。 另外在基于SpringCloud架构体系中,提供了配置中心(ConfigServer)来帮助各个微服务管理配置文件,而原本api服务,随着各个功能抽离,逐步演变成前置网关服务了。 网关服务&服务熔断&监控 通过上面两小节内容,我们相对详细地介绍了基于SpringCloud体系中比较关键两个服务组件。 难道基于SpringCloud服务体系中应用服务都是单节点在提供服务,哪怕即使部署了多个服务节点? 后记 基于SpringCloud服务架构体系,通过集成各种开源组件来为整个体系服务支持,但是在负载均衡、熔断、流量控制方面需要对服务消费端业务进程进行侵入。

    45410发布于 2019-07-31
  • 来自专栏对线JAVA面试

    基于Spring Cloud服务架构分析

    在微服务架构中,存在着那么多服务单元,若一个单元出现故障,就很容易因依赖关系而引发故障蔓延,最终导致整个系统瘫痪,这样架构相较传统架构更加不稳定。 目前网络架构是每个主机都有一个独立IP地址,那么服务发现基本上都是通过某种方式获取到服务所部署IP地址。 在Go生态中,还可以选择基于etcd作为注册中心,etcd是由CoreOS团队维护、高可用分布式键值存储数据库,可用于为集群提供配置和服务发现功能,Google开源容器管理工具Kuberbetes就是基于 Eureka:云端服务发现,一个基于REST服务,用于定位服务,以实现云端中间层服务发现和故障转移。 服务架构分析/

    66110编辑于 2022-10-27
  • 来自专栏纯洁的微笑

    基于SpringCloud服务架构演变史?

    经过一系列重构+扩展,整个系统架构最终形成了以app为中心一套微服务软件系统,结构如下: ? 到这里,整个软件系统就基于SpringCloud初步完成了微服务体系拆分。 另外在基于SpringCloud架构体系中,提供了配置中心(ConfigServer)来帮助各个微服务管理配置文件,而原本api服务,随着各个功能抽离,逐步演变成前置网关服务了。 网关服务&服务熔断&监控 通过上面两小节内容,我们相对详细地介绍了基于SpringCloud体系中比较关键两个服务组件。 难道基于SpringCloud服务体系中应用服务都是单节点在提供服务,哪怕即使部署了多个服务节点? 后记 基于SpringCloud服务架构体系,通过集成各种开源组件来为整个体系服务支持,但是在负载均衡、熔断、流量控制方面需要对服务消费端业务进程进行侵入。

    55210发布于 2019-09-05
  • 来自专栏架构师专栏

    基于 Spring Cloud 完整服务架构实战

    基于 Spring Cloud 完整服务架构实战 本项目是一个基于 Spring Boot、Spring Cloud、Spring Oauth2 和 Spring Cloud Netflix 等框架构服务项目 Eureka - 云端服务发现,一个基于 REST 服务,用于定位服务,以实现云端中间层服务发现和故障转移。 Spring Cloud OAuth2 - 基于 Spring Security 和 OAuth2 安全工具包,为你应用程序添加安全控制。 应用架构 该项目包含 8 个服务 registry - 服务注册与发现 config - 外部配置 monitor - 监控 zipkin - 分布式跟踪 gateway - 代理所有微服务接口网关 auth-service - OAuth2 认证服务 svca-service - 业务服务A svcb-service - 业务服务B 体系架构 ?

    3.2K80发布于 2018-02-09
  • 来自专栏搜云库技术团队

    基于SpringCloud服务架构分析,神仙框架!

    @LoadBalanced注解修饰过RestTemplate来实现面向服务接口调用 4. 在微服务架构中,存在着那么多服务单元,若一个单元出现故障,就很容易因依赖关系而引发故障蔓延,最终导致整个系统瘫痪,这样架构相较传统架构更加不稳定。 、Feign动态代理会根据在接口上@RequestMapping等注解,来动态构造要请求服务地址 4、针对这个地址,发起请求、解析响应 Feign是和Ribbon以及Eureka紧密协作 1、 目前网络架构是每个主机都有一个独立IP地址,那么服务发现基本上都是通过某种方式获取到服务所部署IP地址。 Eureka:云端服务发现,一个基于 REST 服务,用于定位服务,以实现云端中间层服务发现和故障转移。

    1.8K10发布于 2021-10-20
  • 来自专栏EAWorld

    基于服务架构技术实践(附PPT)

    大家好,今天分享是“基于服务架构技术实践”,标题有点土,希望内容对大家有用。 参考4:谷歌优秀框架Borg,谷歌内部管理调度核心,支撑着谷歌上万台机器及业务运行,这个虽然是不开源,但其设计思路和架构是很容易被找到和学习基于上述参考等,我们验证过上述技术栈,用于支撑微服务架构,当然这里面已经有不少被我们放弃了,上图是从对象类型(横向)和功能要求(纵向)给技术做了一些罗列,也是我们平台使用开源图谱,大家有兴趣可基于某几个来探讨 关键3:微服务伸缩与漂移,上图里万年不变公式。以漂移为例子,漂移有很多触发可能,有因为故障,有基于优化考虑,像优化这种,就要求定义很多维度,结合对微服务监控打分加权。 同样是关键3,要求两个基础能力,第一是对于微服务点线面结合监控,第二是监控数据存储分析(微服务散落各地,要汇总合并,要能串接分析) 关键4:微服务升级与回退,既然要求快速迭代,那平台设计上需要考虑

    7.7K100发布于 2018-04-02
  • 来自专栏服务端技术杂谈

    基于Service Mesh构建更现代服务架构

    服务端部署是单体系统时候,我们只需要在负载均衡器之后对应用部署多个单体实例。随着系统一步步抽取解耦成很多微服务,就需要将整个运行架构某些方面进行智能化升级。 同时数据面板收集数据会上报到控制面板。控制面板仅用来提供配置,获取数据指标,其不会出现在一个请求路径上。 事件驱动架构服务之间通信不是唯一通信方式,还有一种基于事件体系架构可以创建他们。 同样我们可以在事件收集器(如kafka)之前加一个数据平面,以确保服务事件能够到达事件收集器(kafka)。 我们可以用神经系统比喻未来架构,大脑中有中暑神经系统和周围神经系统组成。 在实际情况来说,我们需要基于网络请求,判断哪些延迟是正常,哪些是不正常,如果不正常就必须确保系统最终一致性,并以此为前提构建客户端。 动态配置能力 基于Json提供统一数据面API。 关于Go 在版本上选择最新1.12.6,其修改了内存回收默认策略。 - GC优化,减少长尾请求。

    66330发布于 2019-11-19
  • 来自专栏架构专栏

    基于 Spring Cloud 完整服务架构实战

    image.png 前言 本文介绍了技术栈,应用架构,体系架构,应用组件,怎么启动项目,以及相关项目预览,介绍较为详细,详情请看下文。 Eureka - 云端服务发现,一个基于 REST 服务,用于定位服务,以实现云端中间层服务发现和故障转移。 Spring Cloud OAuth2 - 基于 Spring Security 和 OAuth2 安全工具包,为你应用程序添加安全控制。 二、应用架构 该项目包含 8 个服务 registry - 服务注册与发现 config - 外部配置 monitor - 监控 zipkin - 分布式跟踪 gateway - 代理所有微服务接口网关 体系架构 2.

    1.3K00发布于 2020-04-26
  • 来自专栏程序猿DD

    如何基于DDD构建微服务架构

    Liskov Substitution Principle:里氏替换原则 \4. Interface Segregation Principle:接口隔离原则 \5. 子域:对于领域进行不同维度切分相对内聚子系统单元。 分层架构:通过分层架构将业务域和技术逻辑域隔离。 服务服务通常是领域对象调用方,用来协调领域对象完成指定业务逻辑职责。 根据技术边界划分服务:对于产品类型服务使用技术能力划分服务边界,前后端分离架构就是通过技术栈划分服务边界典型架构模式。 分层架构设计 领域驱动设计遵循“关注点分离”原则,将技术实现逻辑封装在基础设施层;将业务逻辑封装在领域层,尽量使领域层代码与其他层技术细节分割开来;将应用层作为黏合剂,实现前两者协作;同时UI层可以基于服务架构模式 微服务架构是强调细粒度、单一职责架构模式。微服务架构更关注是系统非功能需求:质量属性、演进能力、扩展性、观测性、软件交付效率等。

    81010发布于 2021-08-09
  • 来自专栏深度学习与python

    如何基于DDD构建微服务架构

    根据技术边界划分服务:对于产品类型服务使用技术能力划分服务边界,前后端分离架构就是通过技术栈划分服务边界典型架构模式。 4界限上下文 在找到服务边界并把系统拆分后,我们需要使用“界限上下文”概念明确服务之间交互共享模型和行为接口,它不仅可以有效地限定领域职责边界和特性范围,也可以控制问题域规模,进而以化整为零方式控制整个系统复杂性 分层架构设计 领域驱动设计遵循“关注点分离”原则,将技术实现逻辑封装在基础设施层;将业务逻辑封装在领域层,尽量使领域层代码与其他层技术细节分割开来;将应用层作为黏合剂,实现前两者协作;同时 UI 层可以基于服务架构模式 微服务架构是强调细粒度、单一职责架构模式。微服务架构更关注是系统非功能需求:质量属性、演进能力、扩展性、观测性、软件交付效率等。 《微服务架构深度解析:原理、实践与进阶》 王佩华 著 微服务架构领域集大成之作 国内鲜有的微服务详解图书 本书从微服务架构设计理念和方法论切入,从不同角度全面介绍微服务特性、使用场景、组织流程、构建交互

    93410编辑于 2023-04-01
  • 来自专栏腾讯云容器服务团队的专栏

    华尔街见闻:基于腾讯云容器服务服务架构实践

    服务商成本 由于架构落后于需要,我们不得不用硬件弥补性能上问题,导致云服务器成本不断增加。 三.华尔街见闻微服务架构设计 因此,在2016年11月至2017年3月,我们采用微服务架构启动重构,尝试解决一部分上述问题,在伸缩性上能以服务为单位进行拓容,同时,这一设计会在某些方面增大我们开发成本和运维成本 经过拆分我们目前有13个服务,包括用户、内容、实时新闻、评论、搜索、商城、支付、三方代理等服务4.服务间通信 服务间使用protobuf协议对数据进行编码,使用UDP作为传输协议。 服务端渲染 主站PC站基于nodejs、Vue实现服务端渲染,所以不仅需要依赖nodejs,而且需要利用pm2进行nodejs生命周期管理。 上为每个用户构建容器集群,他们提供服务架构和持续集成与交付应用场景基本满足了我们述求。

    3.7K00发布于 2017-05-09
  • 来自专栏高性能服务器开发

    4 关于游戏服务架构整理

    4. 当前主流网络游戏架构 ? 注:在GateServer和CenterServer之间是有一条TCP连接。而GameServer和LogServer之间连接可以是UDP连接。 一种简单实用网络游戏服务架构 下图中每个方框表示一个独立进程APP组件,每个服务进程如果发生宕机会影响部分用户,整体服务但不会全部中断。在宕机进程重启后,又可以并入整体,全部服务得以继续。 ? 而且,它还是一个用户信息验证服务器,GameServer需要通过它来进行客户端合法性验证,以及获取玩家选择 角色数据信息。 采用这种架构游戏,通常有以下表现。 4- 帐号验证完成之后,进行区内服务器选择。 5- 服务器选择完成之后,进入角色管理。同时,角色在不同服务器里不能共享。 使用QuickServer,用户可以只集中处理应用程序逻辑/协议 Cindy :强壮,可扩展,高效异步I/O框架 xSocket:一个轻量级基于nio服务器框架用于开发高性能、可扩展、多线程服务

    3.4K72发布于 2018-07-25
  • 来自专栏禁心尽力

    互联网项目架构基于服务分布式架构

      随着互联网电商项目的发展,越来越多购物平台等都使用SOA分布式来作为系统主要架构。为什么有那么多电商项目都选择SOA作为系统架构呢? 一:首先说说项目总体架构流程   1、该项目采用SOA分布式架构,在此基础上我们又实现了面向服务思想,中间件使用阿里巴巴出品Dubbo服务治理核心框架来管理整个系统服务,并且选择zookeeper ,广告图片等资源,并且通过Nginx反向服务器来访问图片服务器上资源;        3、接着说说商品搜索功能这块架构,这里我们将在Linux系统上搭建了solr集群并实现了集群分片,安装了IKAnalyzer 中文分词器,定义业务域等一系列部署工作,搭建了专门搜索子系统,使用solr技术实现了商品搜索功能;   4、商品详情页这块,采用freemarker页面静态化技术,将实现了对所有商品能够生成HTML key 10"假设有效时间为10秒; (4)、展示商城页面的时候,取出存储活动开始时间,使用js倒计时功能;     (5)、一旦存储key失效,则说明活动结束(说明一点,需要在活动逻辑中,先判断活动是否已经开始

    1.5K100发布于 2018-01-24
领券