随笔分类 - 分布式软件架构设计
网络发达的今天,分布式的软件设计已经成为主流
摘要:从学生时代,开始学习数学,学习加减乘除,学习算术。数学中的逻辑图,流程图,到helloworld程序,完成了计算机科学和技术启蒙。再进一步,了解程序运行原理,用数据结构和算法解决问题,开发能用的应用程序, 开启了程序员之路。三到五年后,已经成为一个程序员老手。关于开发程序员的成长,三到五年是程序员比
阅读全文
摘要:1、服务划分 首先有一个iam服务,就是用户,角色,权限服务,这个真正的核心业务尽量少偶合,相当于一栋房子的安防和门禁系统。 真正的业务,如果比较复杂,也可以拆分为多个微服务,比如一个政务系统,就开以分为若干个模块:新闻模块,办事模块,群众模块等。这些花费不是固定的,是根据具体的场景和经验划分的。
阅读全文
摘要:k8s初入门 开始学习k8s,可能会被其很多概念搞懵,什么Master,Node,Pod,Service,Namespace。然后就是yaml文件,感觉也是很友好。 使用k8s,一定要熟悉其概念,可以看文末的连接。然后在实际操作中,我们用的最多的工具就是kubectl kubectl get
阅读全文
摘要:自己在学习k8s时,也是摸石头过河,踩了很多坑,记录下来,给初学者一些启发,光看《k8s权威指南》是学不会的 二进制安装k8s,参考网上很多教程,比如<手工搭建k8s>。按照这些教程,安装etcd,docker,k8s的组件,这些步骤都做完后,但是通过命令: kubectl get nodes//
阅读全文
摘要:说起我们熟悉的分布式,微服务架构,一定会少不了rpc技术。在单体服务的时代,一个方法都是直接调用另一个方法,但是在分布式架构中, 不能直接调用,于是能完成远程过程调用的技术rpc就诞生了。rpc不是指某项具体技术,而是要达成的效果,比如java早期的rmi技术,现在流行的 Rest接口,也可说是rp
阅读全文
摘要:再也不是我们熟悉的单体时代了!!!,单体时代,我很怀恋-_- 我们亲眼见证了很多组件都从单机走向了集群,比如Redis,rabbitmq,kafka, elasticsearch, Mysql等。趋势就是技术会演变地越来越复杂,相应地提供的服务越来越好。 和单体服务相对应的就是集群,或者分布式系统。
阅读全文
摘要:linux是可以同时运行多个软件的,这个和docker的功能有些相似,docker的隔离是基于namespace的。 在一个内核所有进程都共享操作系统定义的资源——主机名、域名、ARP表、路由表、NAT表;文件系统、用户和组、进程编号。以主机名为例,它是由操作系统定义在一块内存空间中的,所以进程A能
阅读全文
摘要:springcloud有两个我觉得很关键的组件和概念:服务网关zuul和和Eureka,它们为RPC调用提供了很好抽象。 zuul作为网关,比我们自己做的网关的服务好很多,其架构如图所示: 我们知道,有了eureka服务间的相互调用可以使用serviceId,然后通过Eureka Server的映射
阅读全文
摘要:概念入门: docker是什么?我们可能使用过虚拟机,比如Vmare,在Vmare中搭建环境,运行APP,而docker也是一种可以虚拟一套环境, 让我们运行APP的技术。其使用Image,Container概念,相比与Vmare,其上的APP共享宿主机的内核,很轻量,并且易移植。 主要组成: do
阅读全文
摘要:zookeeper的核心是采用树形存储目录,存储key-value数据。其采用分布式集群,存储少量的数据,保证数据的高一致性,分区容错性(CP), 而舍弃了高可用(A),因为在某些情况下是不可用的,比如选举的时候,是不可用的,需要重试。
阅读全文
摘要:zookeeper的核心是采用树形存储目录,存储key-value数据。其采用分布式集群,存储少量的数据,保证数据的高一致性,分区容错性(CP), 而舍弃了高可用(A),因为在某些情况下是不可用的,比如选举的时候,是不可用的,需要重试。 其安装比较简单,java代码,无其他依赖, 可复制其配置文件z
阅读全文
摘要:dubbo作为流行的rpc框架,有很多可取之处,有必要学习一下。dubbo的架构非常简单,4部分,Consumer,Register,Monitor, Client。 dobbo的注册中心支持很多种,本文选用zookeeper。dubbo和springcloud都是通常意义上的rpc框架,只是spr
阅读全文
摘要:1、从feign的报错说起 在使用EnableFeignClients和FeignClient的过程中, 报错 FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateExce
阅读全文