作者回复: 你好,简单回复一下你的问题: 1. 假设请求已经到达faraday-svc,faraday-svc也是住在k8s集群的node中,每个node里头都有kube-dns和kube-proxy,kube-dns实现服务名到clusterIp的映射,kube-proxy则实现clusterIp到具体目标服务podIp的映射,也就是说faraday-svc通过本节点kube-dns找到目标服务的clusterIp,然后通过本节点kube-proxy转发到目标服务Pod上。 2. 一样,FeignClient通过节点上的kube-dns发现目标服务clusterIp,然后通过节点上的kube-proxy转发到目标服务Pod上。 3. 阿里云LB应该不清楚k8s集群内的负载和pod情况,它只是根据路由配置将流量转发到节点的NodePort上,之后由节点上的kube-proxy负责转发到pod。 建议再细看我的k8s网络三部曲文章,里头解释比较清楚,如还有疑问可以加我微信(bulldog2015,说明来自极客时间的用户)。
作者回复: 主要两点考虑: 1. 原版staffjoy的www就是mvc方式; 2. www站点还是一个营销站点,SEO很重要,如果www采用单页SPA,就要解决SEO的问题,增加复杂性。
作者回复: 你好,你的问题不是很清楚,我尽量回答: 1. 一般服务A会提供调用地址(具体实现要看企业内部服务发现的做法,常见nginx+域名),B通过A的服务地址去调用,如果A提供封装好的强类型客户端,那么B就可以直接用强类型客户端调用,如果A只是提供一个http/json服务,那么B可以用http client去调,然后自己解析json。 2. Feign底层是http调用。 3. A服务可以躲在网关(企业内部网关,比如nginx)后面,然后B通过网关再调用A,这种方式有不少企业采用。
作者回复: main.css大部分拷贝自谷歌的MDL(Material Design Lite) https://getmdl.io/
作者回复: 我画图一般都是直接ppt画,win的话就用powerpoint,mac用keynote。
作者回复: 如果各个租户的客制化需求确实比较多,难以通用化(通用化的成本反而比客制化高),那还不如每个租户定制独立隔离部署,目前采用k8s+容器方式,自动化部署一套租户应用很快的,架构上也不难做到。当然,原则是尽量通用和重用,最终看成本、可维护性和可规模化能力。libsaas是将sass(一种css扩展语言)编译成普通css的一个库。