随笔分类 -  架构设计

摘要:互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称CI)。 持续集成 持续集成指的是,频繁地(一天多次)将代码集成到主干。它的好处主要有两个: 快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容 阅读全文
posted @ 2019-05-29 11:01 hongxinerke 阅读(1338) 评论(0) 推荐(0)
摘要:fastDSF介绍 FastDFS是用c语言编写的一款开源的分布式文件系统,它是由淘宝资深架构师余庆编写并开源。FastDFS专为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。 阅读全文
posted @ 2019-05-04 15:39 hongxinerke 阅读(696) 评论(0) 推荐(0)
摘要:公司用的架构,在此找了资料作为记录复看所用: 什么是Service Mesh? Service Mesh的概念最早是由Buoyant公司的CEO William Morgan在一篇文章里提出,他给出的服务网格的定义是: A service mesh is a dedicated infrastruc 阅读全文
posted @ 2019-05-01 22:10 hongxinerke 阅读(3392) 评论(0) 推荐(0)
摘要:服务路由的应用场景 分组调用。一般来讲,为了保证服务的高可用性,实现异地多活的需求,一个服务往往不止部署在一个数据中心,而且出于节省成本等考虑,有些业务可能不仅在私有机房部署,还会采用公有云部署,甚至采用多家公有云部署。服务节点也会按照不同的数据中心分成不同的分组,这时对于服务消费者来说,选择哪一个 阅读全文
posted @ 2019-05-01 21:09 hongxinerke 阅读(2891) 评论(0) 推荐(0)
摘要:微服务远程调用可能有如下问题: 注册中心宕机; 服务提供者B有节点宕机; 服务消费者A和注册中心之间的网络不通; 服务提供者B和注册中心之间的网络不通; 服务消费者A和服务提供者B之间的网络不通; 服务提供者B有些节点性能变慢; 服务提供者B短时间内出现问题。 注册中心宕机; 服务提供者B有节点宕机 阅读全文
posted @ 2019-05-01 18:20 hongxinerke 阅读(1051) 评论(0) 推荐(0)
摘要:无状态登录原理 1.1.什么是有状态? 有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。 例如登录:用户登录后,我们把登录者的信息保存在服务端session中,并且给用户一个cookie值,记录对应的ses 阅读全文
posted @ 2018-11-23 11:55 hongxinerke 阅读(9510) 评论(2) 推荐(2)
摘要:我们来解决微服务的第一问题,服务的管理。 服务中心对外提供服务,需要对外暴露自己的地址。而consumer(调用者)需要记录服务提供者的地址。将来地址出现变更,还需要及时更新。这在服务较少的时候并不觉得有什么,但是在现在日益复杂的互联网环境,一个项目肯定会拆分出十几,甚至数十个微服务。此时如果还人为 阅读全文
posted @ 2018-11-22 10:40 hongxinerke 阅读(494) 评论(0) 推荐(0)
摘要:无论是微服务还是SOA,都面临着服务间的远程调用。那么服务间的远程调用方式有哪些呢? 常见的远程调用方式有以下几种: RPC:Remote Produce Call远程过程调用,类似的还有RMI。自定义数据格式,基于原生TCP通信,速度快,效率高。早期的webservice,现在热门的dubbo,都 阅读全文
posted @ 2018-11-22 01:00 hongxinerke 阅读(5461) 评论(0) 推荐(0)
摘要:1.系统架构演变 1.1. 集中式架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是影响项目开发的关键。 存在的问题: 代码耦合,开发维护困难 无法针对不同模块进行针对性优化 无法水平扩展 单点容错率低,并发能力 阅读全文
posted @ 2018-11-22 00:53 hongxinerke 阅读(420) 评论(0) 推荐(0)
摘要:本文链接:https://www.cnblogs.com/zhenghongxin/p/9131362.html 公司业务前端是使用 “分发层+应用层” 双层nginx架构,目的是为了提高缓存的命中率。最前端有个nginx分发层,底下是负载均衡集群。 为了提高缓存的命中率,需要nginx进行定向流量 阅读全文
posted @ 2018-06-03 23:56 hongxinerke 阅读(1960) 评论(3) 推荐(0)
摘要:本文链接:https://www.cnblogs.com/zhenghongxin/p/9131226.html 公司某些业务下,需要将请求的流量上报于中间件(kafka,rabbitMq等),让storm等去实时消费,进行缓存更新等热数据统计。 大概如下: kafka 阅读全文
posted @ 2018-06-03 23:17 hongxinerke 阅读(706) 评论(0) 推荐(0)
摘要:如果可以,请先查看《重构多重嵌套的代码 - 思考》,对于您接下来的阅读会有些帮助。 本文链接:http://www.cnblogs.com/zhenghongxin/p/8687587.html 职责链模式 职责链模式(称责任链模式)将请求的处理对象像一条长链一般组合起来,形成一条对象链。请求并不知 阅读全文
posted @ 2018-04-01 18:07 hongxinerke 阅读(329) 评论(0) 推荐(0)
摘要:本文链接:http://www.cnblogs.com/zhenghongxin/p/8682715.html 箭头型代码 某些人的逻辑写法很喜欢按照自己的思维模式来,我们可以看到这样子的 “ 箭头型” 代码: 看起来是不是中间很像一个箭头?可能开发者能理解这个逻辑,但其他人看着看着,很容易在一大堆 阅读全文
posted @ 2018-03-31 16:18 hongxinerke 阅读(1276) 评论(0) 推荐(0)
摘要:最近一直看这方面的东西,总结如下: 在后续会进行实例demo演示,本篇进行理论详解。 下篇相关博客: 《Web Api 内部数据思考 和 利用http缓存优化 Api》 《API接口安全加强设计方法》 一 什么是Web Api ? web api 是指 “使用HTTP协议通过网络调用的API”。AP 阅读全文
posted @ 2017-07-31 00:29 hongxinerke 阅读(1200) 评论(0) 推荐(0)