go to my github

随笔分类 -  【005】聊聊架构

摘要: 一致性:很多时候表现在IT系统中,通常在分布式系统中,必须(或最终)为多个节点的数据保持一致。世间万物,也有存在相同的特征或相似,比如儿时的双胞胎,一批工厂流水线的产品,当然,我们不去讨论非IT以外的知识点。 注:我们一定要明白一个词叫“信息不对称”,不论是人、事、物,信息不对称是永远都存在的,要知道,在IT系统中,能引起信息不对称的因素有很多,比如网络上,有丢包、有延迟。硬件上,有不同性能的计算能力和处理能力。 在传统的IT时代,一致性通常是指强一致性,比如一个单体的WEB程序中,从数据库到缓存,再到呈现出来的界面,数据均是相同的; 而在现在的互联网时代,特别是分布式架构下,一致性的含义远远超出她原有的含义,由于互联网的特点,信息量巨大,每个人(或者不同的每个业务)获取到的信息不对称,最终都会造成不一致。 换句话说,传统的单体应用无法满足巨大的信息量,而转向为多节点、多服务的 阅读全文
posted @ 2019-03-27 11:08 另一个老李 阅读(1623) 评论(4) 推荐(5) 编辑
摘要:日志,一直以来都是开发人员和运维人员最关心的问题。开发人员可通过日志记录来协助问题定位,运维人员可通过日志发现系统隐患,故障等定位问题。如果你的系统中没有日志,就像一个断了线的风筝,你永远不知道它会的落脚点(故障点)在什么地方。当然,你说你不用日志,非要用调试模式来一个一个的排查和验证问题,那这将是非常疯狂的。 阅读全文
posted @ 2019-03-06 17:46 另一个老李 阅读(2726) 评论(2) 推荐(7) 编辑
摘要:对于普通系统或者服务来说,一般通过打日志来进行埋点,然后再通过elk或splunk进行定位及分析问题,更有甚者直接远程服务器,直接操作查看日志,那么,随着业务越来越复杂,企业应用也进入了分布式服务化的阶段,传统的日志监控等方式无法很好达到跟踪调用、排查问题等需求,可以想象,如果你的服务节点达到有很多很多(两位数以上吧),而没有一个自动跟踪系统,那查找一个问题将成为噩梦。 阅读全文
posted @ 2019-03-02 21:58 另一个老李 阅读(7980) 评论(10) 推荐(21) 编辑
摘要:单论Rpc框架市场,且不论Java上的Spring Boot和Spring Cloud这样大名鼎鼎的开源框架,目前Net上的Rpc整合性框架确实并不多,我们Net程序员也要混口饭吃,不能总被Java甩掉好几条街吧。   言归正传,一个远程过程调用,会涉及到如下几个方面的技术点(功能): 路由转发:当服务部署在多个节点上时,调用方需要知道自己的目标服务在什么地方。 通信协议:当管道存在,还需要在管道的两端建立处理程序(宿主),以处理管道中的数据包。DotEasy.Rpc基于DotNetty进行通信处理和协议实现。 动态生成:我们知道,基于二进制的RPC传输,每当新增接口,或修改接口,都需要生成相关协议的protobuf文件(或 thrift 文件),本框架基于protobuf-net的传输框架和Rosyln的预生成,动态生成相关的CS文件。 运行时代理:本框架采用 阅读全文
posted @ 2018-12-11 23:05 另一个老李 阅读(3462) 评论(21) 推荐(16) 编辑
摘要: 重温最少化集群搭建,我相信很多朋友都已经搭建出来,基于Watch机制也实现了出来,相信也有很多朋友有了自己的实现思路,但是,很多朋友有个疑问,我API和服务分离好了,怎么通过服务中心进行发现呢,这个过程是通过什么来实现的呢,本篇我们就来介绍这个“调用过程”。 本篇干货较多,没有代码,阅读请注意休息! 阅读全文
posted @ 2018-10-18 22:07 另一个老李 阅读(5269) 评论(1) 推荐(10) 编辑

点击右上角即可分享
微信分享提示