爱编码的Farmer

  • 主页
  • 编程开发
  • 运营维护
  • 随心笔记
  • 留言页面
  • 打赏
编程开发
编程类的技术文章,源码等等.....
教程笔记

微服务架构本地尝试(7)-分布式事务

来了解一下分布式事务,事务简单来说就是:"要么什么都不做,要么做全套" 本地事务 平常我们的事务都是在同一个数据库中执行. 举个栗子:当你发帖的时候,需要发表帖子存入数据库,然后再给这个发帖的用户增加积分.如果帖子存入数据库失败,那么就不再往下执行;但是你增加积分失败了,然而你的帖子已经发布出去了,总不可能再去删除刚刚发的那条帖子吧.如果你使用了事务的话,那么可以在一项失败的时候,回滚事务,一切就像没有发生一样. ACID模型 说到事务就不得不说A(原子性)C(一致性)I(隔离性)D(持久性),来贴一下百科说明. …

2019年3月10日 0条评论 4712点热度 2人点赞 Farmer 阅读全文
教程笔记

微服务架构本地尝试(6)-聚合数据

微服务架构中,每个微服务所拥有的数据对当前微服务来说是私有的,只能通过其提供的 API 进行访问.我们需要实现业务的事务在多个服务之间保持一致性,还有就是不同服务中数据的数据聚合. 最终我选择了尝试领域驱动设计和CQRS,可以从git看到我对本节有不少改变=_=,尝试一下,希望不要误人子弟,对于理论的知识我也不会在本文中写太多,我会贴我觉得不错的一些文章. 方案 这一节将来探究不同的微服务之间,不同服务中数据的数据聚合.我将列出几种方法. 字段冗余 这一种方法是在查询的表中增加一些字段存储另外一些表的数据,这种方法…

2019年3月10日 0条评论 7077点热度 0人点赞 Farmer 阅读全文
教程笔记

微服务架构本地尝试(5)-数据库拆分

原本打算是用k8s的,但是这么一弄感觉越来越往运维方向走了.现在的网关和服务中心已经够用了.所以只写了一部分,作为附录,如果以后有时间会继续填坑. 这一节的话,主要是数据库拆分和我们之前分开的两个微服务(权限和发帖)接上数据库(主要是代码). 未拆分前 未拆分前,我们的架构大概是这样的,所有的微服务从同一个数据库中请求,这样的好处是简单,但是微服务之间的关系又觉得没有区分开来,微服务架构的一个非常明显的功能就是一个服务所拥有的数据只能通过这个服务的API来访问. 拆分后 拆分后大概是上图这样,一个微服务对应一个数据…

2019年3月10日 0条评论 5121点热度 0人点赞 Farmer 阅读全文
教程笔记

微服务架构本地尝试(四)-容器

容器的好处就不多说了,一次构建到处运行.对于微服务来说,需要将各个微服务部署到多个主机上,而且所需要的环境还不一定相同,甚至冲突,那么容器就很好的解决了这个问题,容器所占用的资源比虚拟机小多了.而且容器部署起来很是方便.然后go和docker也是很配的一对,go编译之后可以直接的放入容器中运行,而不需要依赖环境. 这一节的话我们还需要在代码里面种加入服务发现和注册的功能,以便在容器中能够动态扩容. 服务注册 先获取开发包 go get -u github.com/hashicorp/consul # 其实好像不要-…

2019年3月10日 0条评论 4752点热度 1人点赞 Farmer 阅读全文
教程笔记

微服务架构本地尝试(三)-服务发现

本系列在github中更新,源码和docker都可在github项目中找到:https://github.com/CodFrm/learnMicroService GitHub文章:点我去GitHub看 上一节完成了api网关,这一节来了解微服务架构中的服务发现 我们现在的微服务rpc调用我们是直接的填入的ip和端口,客户端连接服务端.但是当我们的微服务多起来,而且是集群部署那么问题就出来了,我们不可能每一个都填好ip和端口,这样是不方便动态扩容和部署的,而且当我们调用的时候也无法做到很好的负载均衡.关于这个有两种…

2019年1月30日 0条评论 7523点热度 0人点赞 Farmer 阅读全文
教程笔记

微服务架构本地尝试(二)-api网关

本系列在github中更新,源码和docker都可在github项目中找到:https://github.com/CodFrm/learnMicroService GitHub文章:https://github.com/CodFrm/learnMicroService/blob/master/doc/%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%B6%E6%9E%84%E6%9C%AC%E5%9C%B0%E5%B0%9D%E8%AF%95(%E4%BA%8C)-api%E7%BD%91%E5%…

2019年1月29日 0条评论 11698点热度 3人点赞 Farmer 阅读全文
教程笔记

微服务架构本地尝试(一)-rpc

本系列在github中更新,源码和docker都可在github项目中找到:https://github.com/CodFrm/learnMicroService GitHub文章:https://github.com/CodFrm/learnMicroService/blob/master/doc/%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%B6%E6%9E%84%E6%9C%AC%E5%9C%B0%E5%B0%9D%E8%AF%95(%E4%B8%80)-rpc.md 微服务架构最近非常…

2019年1月28日 0条评论 5608点热度 2人点赞 Farmer 阅读全文
开发

php ssh2扩展实现一个交互式的终端---思路

想实现一个web的终端,最开始用的ssh2这个扩展,但是结果只能用exec执行命令,不能达到我想要的效果,我想要的是交互式的终端,之后又找了一个php的包phpseclib用里面的ssh2协议用得很迷...不知道为什么read总是要等很长一段时间,不知道是不是我的姿势不对,暂时的放弃,然后仔细看了一下官网的ss2扩展文档,发现有一个ssh2_shell命令,于是开始研究,感觉可以达到交互式终端的效果,如果再不行...可能得去实现ssh协议了....贴出代码如下 有一点不足的地方就是不能使用select方法来,本来想…

2018年12月30日 3条评论 5950点热度 1人点赞 Farmer 阅读全文
编程开发

pecl 安装出现No releases available for package 解决方案

需要用到pecl安装一个扩展,但是一直在报错,提示No releases available for package 然后安装失败,一些人说是网络问题,但是我可以直接访问pecl的网站,又没用代理,后面用pecl search搜索的时候提示Connection to `ssl://pecl.php.net:443' failed: 我就觉得不简单了,通过google得到了解决方案,主要是因为证书的问题 huanl@huanl-CN15S:/www/wwwroot/wnm$ php -r "print_r(opens…

2018年12月30日 0条评论 8080点热度 6人点赞 Farmer 阅读全文
教程笔记

Dockerfile和docker-compose

Dockerfile 使用Dockerfile构建自己的镜像,这里记录一些常用的命令,这里拿我尝试做的一个nginx镜像来记录 https://github.com/huanl-php/docker-nginx/blob/master/Dockerfile FROM alpine:latest 选择基础的镜像,这里的话我用的是alpine,后面的latest表示最新的版本,alpine是一个非常小的linux发行版,如果你对镜像大小很敏感的话推荐使用这个镜像作为基础镜像 LABEL 这一行表示这个Dockerfil…

2018年12月25日 0条评论 4962点热度 2人点赞 Farmer 阅读全文
12345…8

Farmer

不敢说什么

最新 热点 随机
最新 热点 随机
[油猴脚本开发指南]脚本自动化之模拟点击和表单填写 [油猴脚本开发指南]第一个脚本-HelloWorld Windows装杯且实用的终端配置 - WindowsTerminal+PowerShell优化 github不完全指南 iPad编程学习环境---vscode web版本搭建 从根本上解决鼠标手,chrome 插件"Vimium"分享
QQ 登陆密码加密JS算法 swoole学习笔记(二)-开发环境配置 你知道么?不止有CNM语言 Yii2.0 Controller 超星慕课刷课 android 邀请链接,安装apk注册自动填写邀请人
友情链接
  • Junzhou
  • mathor
  • 仙桃小白菜
  • 天真的小窝
  • 油猴中文网
  • 青山志
RSS
  • RSS

COPYRIGHT © 2021 icodef.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

湘ICP备19008073号