微服务学习(附链接)

单体架构:正常的程序实例,负责完成项目所有工作,单进程
                  弊端:一个进程要处理所有的工作,压力大
                  解决方案:分布式

简单分布式:将一个项目按工作内容拆分成多个项目实例,通过HttpClient相互调用
                  弊端:但一个实例出现断网或报错等故障时,下游实例将跟着出现故障,
                             需要维护的服务端口也变多,可用性低
                  解决方案:集群(Nginx)

集群(Nginx):最常用最见效的高可用手段,上端省心,负载均衡,
           作用很多
           文章链接:​​​​​​​Nginx下载和使用_XiaoGuaiSs的博客-CSDN博客我将同一个项目启动了三个实例,相当于发布了三个不同端口的服务,ip端口要与nginx配置对应。下载成功后打开 \nginx-x.xx.x\conf\nginx.conf 文件。2.或者到nginx.exe目录下cmd执行start nginx启动。成功访问且显示被访问端口为5726,刷新继续。尝试访问nginx配置的端口8080。显示5727,继续应该就是5728。启动成功后会弹出一个新的命令行窗口。1.双击启动nginx.exe。修改以下部分代码即可。nginx简单使用成功。https://blog.csdn.net/m0_37894611/article/details/130349702 弊端:不可伸缩,需要人工配置,重启
           解决方案:服务注册发现(Consul)服务注册发现(Consul):程序启动时,服务注册且只注册一次;

服务注册于发现(Consul)
                提供心跳机制确认存活状态,能主动发现新进和退出的服务;
                分布式锁、数据共享存储 ACL
           文章链接:服务注册与发现-Consul(Window)_XiaoGuaiSs的博客-CSDN博客Install | Consul | HashiCorp DeveloperExplore Consul product documentation, tutorials, and examples.https://developer.hashicorp.com/consul/downloadshttps://blog.csdn.net/m0_37894611/article/details/130349754        ​​​​​​​consul集群:服务注册与发现-Consul(Linux)_XiaoGuaiSs的博客-CSDN博客生成项目镜像,docker build -t 镜像名称 -f dockerfile文件目录 项目目录。我们再继续添加 consul容器node2、node3,注意改成自己的IP 172.17.0.2,我使用了Linux本地的ip不知道为什么绑定不到一起,就是用了nide1给的ip地址,尝试是成功的,不知道是否会有影响。Docker 在Linux-CentOS上的安装使用_XiaoGuaiSs的博客-CSDN博客。可以通过命令查看主从信息,看看当前谁是Leader,谁是follower。https://blog.csdn.net/m0_37894611/article/details/130439415           弊端:负载均衡需要手动实现,可使用网关或封装实现;虽然能主动检测服务异常并退出,但没有新的服务出现,需要【失效转移】|【流量自适应】(根据流量压力自动新增服务实例)
            解决方案:失效转移-K8S,流量自适应(真正的动态伸缩),实现Consul集群  

随着IT发展,项目越来越复杂,硬件更新飞速,所有进程都放在一起比较混乱,需要不同类进程之间相互隔离,但隔离对服务器损耗严重,成本很高。最终出现容器技术,可以把容器当作虚拟机,有完整的操作系统,有资源限制,区别在于内核共享,操作系统阉割,比虚拟机更高效。
容器技术利用了Linux的LXC--可以做资源隔离,资源管控,但不那么好用,容器技术就是包装了一下,提供更好用的方式。
Docker容器:Build once run anywhere
        文章链接:Docker 在Linux-CentOS上的安装使用_XiaoGuaiSs的博客-CSDN博客如果提示 [Warning] IPv4 forwarding is disabled. Networking will not work.然后将项目拷贝至linux 的project目录下(随意)。生成项目镜像,docker build -t 镜像名称 -f dockerfile文件目录 项目目录。右键点击netcore项目-添加-Docker支持,选择Linux。直接Ctrl+c停止,然后执行启动ipv4命令。然后通过ip加端口访问下接口或页面。再重新执行构建镜像,显示成功。启动镜像,获得容器实例。https://blog.csdn.net/m0_37894611/article/details/130404139

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值