@ 目录 前言 Istio是什么? 服务网格是什么? 应用场景 为什么使用Istio? 流量管理介绍 istio架构 Envoy Sidecar Istiod 虚拟服务(VirtualService) 为什么使用虚拟服务? 栗子 路由规则 匹配条件 Destination 路由规则优先级 路由规则的更多内容 目标规则(DestinationRule) 负载均衡选项 网关(Gateway) 栗子 Sidecar 网络弹性和测试 超时 重试 栗子 熔断器 故障注入 和您的应用程序一起运行 总结 前言…
前言 IntelliJ IDEA 是一个非常强大的 IDE,拥有许多功能.在 IDEA 中大部分功能都可以用快捷键去完成,如果掌握了大部分快捷键,可以只使用键盘开发了. ps: 最近正在练习快捷键,准备尝试只使用键盘进行开发 也许因为这些繁多的功能,对于新入手 IDEA 的开发人员,快速掌握功能与快捷键并不是很简单.幸运的是 Jetbrain 早已考虑到该情况, 在 IDEA 有相关功能,可以快速帮助你上手. Tip of the day 首先介绍的是 Tip of the day .这个功能,…
@ 目录 前言 本文说明 请大家务必查看 环境准备 详细版 入门:搭建步骤 Istio软件包下载 下载Istio 卸载 简洁版 安装 卸载 学习不走弯路,gz号「yeTechLog」 前言 上一篇讲了什么是Istio的理论篇,这次我们就来实际操作. 想看上一篇理论篇的看这里(看完绝对有所收获): [Istio是什么?] 还不知道你就out了,一文40分钟快速理解_小叶的技术Logs的博客-CSDN博客 本文说明 请大家务必查看 本文有两个版本,详细版.简洁版. 前者适合新手,后者适合老手(方便大…
作者:小土豆biubiubiu 博客园:https://www.cnblogs.com/HouJiao/ 掘金:https://juejin.im/user/58c61b4361ff4b005d9e894d 简书:https://www.jianshu.com/u/cb1c3884e6d5 微信公众号:土豆妈的碎碎念(扫码关注,一起吸猫,一起听故事,一起学习前端技术) 欢迎大家扫描微信二维码进入群聊讨论(若二维码失效可添加微信JEmbrace拉你进群) 码字不易,点赞鼓励哟~ 温馨提示 本篇文章…
微信搜「烟雨星空」,白嫖更多好文. 现在 Oracle 官方每隔半年就会出一个 JDK 新版本.按时间来算的话,这个月就要出 JDK15 了.然而,大部分公司还是在使用 JDK7 和 8 . 之前去我朋友家,竟然被嘲笑不会用 JDK8 . 不服气的我,回来之后,当然是重点学习之啊. 话不多说,本文目录如下: 目录: lambda 表达式 接口默认方法和静态方法 函数式接口 方法引用 Optional Stream API 日期时间新 API 一.lambda表达式 先看下 lambda 表达式是…
今天就一个目的,让你可以FQ成功,其他人我不知道,但就程序员来说,不能使用 Google 那真是一大损失,当然还有对所有人适用的 YouTobu 这个视频网站,资源多的没话说,别的不说,学习英语很方便.   当然我们FQ的目的只是为了更好的学习,嗯,反党反革命的事咱们也不干哈.   首先解释一下,什么是FQ.在解释FQ之前先说明一下什么墙,我们国家呢,为了国家的和平安定,国家意志不受美帝等的侵害,为互联网设计了一堵墙,也就是防火墙,全称是中国国家防火墙(Great FireWall of Chi…
作者:古霜卡比 前言 本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件.本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节. 要理解微服务,首先要先理解不是微服务的那些.通常跟微服务相对的是单体应用,即将所有功能都打包成在一个独立单元的应用程序.从单体应用到微服务并不是一蹴而就的,这是一个逐渐演变的过程.本文将以一个网上超市应用为例来说明这一过程. 最初的需求 几年前,小明和小皮一起创业做网上超市.小明负责程序开发,小皮负责其他事宜.…
目录 使用过Redis,那就先说说使用过那些场景吧 Rdb文件是什么,它是干什么的 分析工具 小结 联想 推荐阅读 使用过Redis,那就先说说使用过那些场景吧 字符串缓存 //举例 $redis->set(); $redis->get(); $redis->hset(); $redis->hget(); 队列 //举例 $redis->rpush(); $redis->lpop(); $redis->lrange(); 发布订阅 //举例 $redis->…
随着2020进入4季度,.NET5正式版也已经与大家见面了.不过,尽管 .NET Core发布已经有四五年的时间,但到目前为止,依旧有很多.NET开发者在坚守者.NET4,原因不尽相同,但最大的问题可能还是不熟悉Linux,更别说在Linux服务器中部署.NET服务了. 而 .NET Core在飞速发展的这四五年里,微服务.云原生等概念也在飞速发展. .NET Core在微服务和云原生的场景下,也已日趋稳定,生态也在逐步完善,相信.NET5正式发布后,对于我们苦逼多年了的.NET开发者绝对是个机…
Spring如何解决的循环依赖,是近两年流行起来的一道Java面试题. 其实笔者本人对这类框架源码题还是持一定的怀疑态度的. 如果笔者作为面试官,可能会问一些诸如"如果注入的属性为null,你会从哪几个方向去排查"这些场景题. 那么既然写了这篇文章,闲话少说,发车看看Spring是如何解决的循环依赖,以及带大家看清循环依赖的本质是什么. 正文 通常来说,如果问Spring内部如何解决循环依赖,一定是单默认的单例Bean中,属性互相引用的场景. 比如几个Bean之间的互相引用: 甚至自己…
作为一名Java程序员,我们需要知道Java代码是怎么运行的.最近复习了深入理解Java虚拟机这本书,做了一下笔记,希望对大家有帮助,如果有不正确的地方,欢迎提出,感激不尽. java 代码运行主要流程 本文主要讲解流程如下: java源文件编译为class字节码 类加载器把字节码加载到虚拟机的方法区. 运行时创建对象 方法调用,执行引擎解释为机器码 CPU执行指令 多线程切换上下文 编译 我们都知道,java代码是运行在Java虚拟机上的.但是java是一门面向对象的高级语言,它不仅语法非常复…
上一篇文章讲解了获取事务,并通过获取的connection设置只读,隔离级别等:这篇文章讲事务剩下的回滚和提交. 事务的回滚处理 之前已经完成了目标方法运行前的事务准备工作.而这些准备工作的最大目的无非就是对于程序没有按照我们期待的那样进行,也就是出现特定的错误:那么当出现错误的时候Spring是怎么对数据进行恢复的呢?我们先来看一下TransactionAspectSupport类里的invokeWithinTransaction函数的completeTransactionAfterThrow…
谷歌人工智能 AlphaGo 与韩国棋手李世石 3 月 15 日进行了最后一场较量,最终比赛结果为 AlphaGo 4:1 胜李世石,人机围棋大战巅峰对决至此落幕.我不知道大家有没有被震撼到,反正我的老板是被震撼到了(后文会提到我老板震撼到后有什么具体表现和行动). 这篇文章,不想评价围棋的对局棋谱,也不想升华到什么人与智能之争巴拉巴拉的,因为确实不懂围棋(犹记得那个丢人的五子棋么?不止我一人看错吧!),也不懂如何理解新旧两代信息模式之争是个什么,我只是想不单纯的给大家科普一下什么是机器学习!…
作者:你未读 整理:君未读 关于使用 win 系统的基本普及. 建议更换 win10 系统 可能很多朋友看到这个建议,心里很不爽,还很不服气,别急,且看官方给出的信息. 也就是说在 2019 年你完全可以使用 win7 系统,官方会继续支持和维护,但是到了 2020 年,官方就不会继续对个人用户和未付费用户对 win7 系统提供维护和升级等技术. 其实这种转变是必然的,还记得之前从 win xp 系统升级到 win7 系统的经经历吗?如今只是更高一个台阶而已. 装系统相关   系统的选择,强烈建…
作者:人晓 自Java5.0版本引入注解之后,它就成为了Java平台中非常重要的一部分.开发过程中,我们也时常在应用代码中会看到诸如@Override,@Deprecated这样的注解. 这篇文章中,我将向大家讲述到底什么是注解,为什么要引入注解,注解是如何工作的,如何编写自定义的注解(通过例子),什么情况下可以使用注解以及最新注解和ADF(应用开发框架).这会花点儿时间,所以为自己准备一杯咖啡,让我们来进入注解的世界吧.   什么是注解? 用一个词就可以描述注解,那就是元数据,即一种描述数据的…
背景 有朋友反馈zk连接很慢.整理出zk连接的关键逻辑如下: 上面的代码造成第一次调用ClientZkAgent.getInstance的时候,需耗时10s, 这个时间恰好跟semaphore的超时时间相当. 在此期间,整个世界好像停滞了一样. 分析 在本地重现后,通过jstack获得系统停滞期间的线程栈,发现这个时候zookeeper的EventThread有个比较奇怪的现象: 客户端实际上很快就连上了zookeeper并返回后生成了SyncConnected事件,而且EventThread已…
TIOBE的4月份编程语言排行榜出来了,java还是稳坐第一位,java最新的版本也到了13,一直以来java凭借其企业级应用的优势和大量的框架级应用俘获了大量的粉丝和企业客户. 谈到开发者,java肯定是个绕不过去的话题,那么这么多的java开发者到底都用哪些IDE呢? 好的IDE肯定不仅要支持java的开发,HTML,CSS,JS,移动开发一个都不能少. IDE就是为了降低开发难道,提升开发效率而生的. 下面是我们今天要讲的5个IDE神器 Eclipse Eclispe不用介绍了吧,记得我写…
前言     当面试官问你:你了解js哪些继承方式?es6的class继承是如何实现的?你心中有很清晰的答案吗?如果没有的话,可以通过阅读本文,帮助你更深刻地理解js的所有继承方式.       js继承总共分成5种,包括构造函数式继承.原型链式继承.组合式继承.寄生式继承和寄生组合式继承.   构造函数式继承       首先来看第一种,构造函数式继承,顾名思义,也就是利用函数去实现继承:       假设我们现在有一个父类函数: // 父类构造函数 function Parent(color…
数据库基础知识 1.为什么要使用数据库 (1)数据保存在内存 优点: 存取速度快 缺点: 数据不能永久保存 (2)数据保存在文件 优点: 数据永久保存 缺点: 1)速度比内存操作慢,频繁的IO操作. 2)查询数据不方便 (3)数据保存在数据库 1)数据永久保存 2)使用SQL语句,查询方便效率高. 3)管理数据方便 2.什么是SQL? 结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询语言. 作用:用于存取数据.查询.更新和管理关系数据库系统. 3.…
java8已经在日常开发编码中非常普遍了,掌握运用好它可以在开发中运用几行精简代码就可以完成所需功能.今天将介绍CompletableFuture的在生产环境如何使用实践.CompletableFuture类作为Java 8 Concurrency API改进而引入,熟悉的同学应该了解在Java 9 也有对CompletableFuture有一些改进,橘子之后再进入讲解.阅读这篇文章需要知道的前置知识点有,函数式编程,线程池原理等.还不熟悉的同学可以看看之前的文章,话不多说,开始吧. 为了更好的…
1.为什么需要控制加载顺序 springboot遵从约定大于配置的原则,极大程度的解决了配置繁琐的问题.在此基础上,又提供了spi机制,用spring.factories可以完成一个小组件的自动装配功能. 在一般业务场景,可能你不大关心一个bean是如何被注册进spring容器的.只需要把需要注册进容器的bean声明为@Component即可,spring会自动扫描到这个Bean完成初始化并加载到spring上下文容器. 而当你在项目启动时需要提前做一个业务的初始化工作时,或者你正在开发某个中间…
众所周知,Python应用广泛,涵盖后端开发.游戏开发.网络爬虫.网站开发.数据挖掘.科学运算.大数据分析.云计算.人工智能等领域,感觉像神一样的存在.Python这么火,那么从入门到精通学习Python需要看哪些教程呢?小编今天给大家分享一下学习经验,希望对大家的学习有帮助~~ 很多Python大佬都建议去Python官网看documentation,觉得那才是最新最有用的,这点小编并不否认,但是对于英语不太好的小伙伴们或者尚未接触过编程的小白来说,那就相当于看天书一样难啦~ <Learn P…
引言 SpringBoot项目中的启动类,一般都是XXApplication,例如「StatsApplication」,「UnionApplication」. 每个项目的启动类名称都不一样.但是它的启动类真的是XXApplication吗? META-INF/****Manifest.mf文件 jar文件实际上是class文件的zip压缩存档.jar并不能表达应用程序的便签信息. 「META-INF/Manifest.mf文件提供存档的便签信息.」 Manifest.mf有 「Main-Clas…
linux命令是对Linux系统进行管理的命令.对于Linux系统来说,无论是中央处理器.内存.磁盘驱动器.键盘.鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心.     线上查询及帮助命令(2个) man:查看命令帮助,命令的词典,更复杂的还有info,但不常用. help:查看Linux内置命令的帮助,比如cd命令. 文件和目录操作命令(18个) ls:全拼list,功能是列出目录的内容及其内容属性信息. cd:全拼change directory,功能是从当前工作目录…
引言 最近有个读者在面试,面试中被问到了这样一个问题"看你项目中用到了springboot,你说下springboot的自动配置是怎么实现的?"这应该是一个springboot里面最最常见的一个面试题了.下面我们就来带着这个问题一起解剖下springBoot的自动配置原理吧. SpringMvc和SpringBoot对比 首先我们回顾下原来搭建一个springmvc的hello-word的web项目(xml配置的)我们是不是要在pom中导入各种依赖,然后各个依赖有可能还会存在版本冲突需…
不少人有五年的 JavaScript 经验,但实际上可能只是一年的经验重复用了五次而已.完成同样的逻辑和功能,有人可以写出意大利面条一样的代码,也有人两三行简洁清晰的代码就搞定了.简洁的代码不但方便阅读,还能减少复杂逻辑和出错的可能性.本文就介绍一些常用的JavaScript简化技巧,日常开发都用得上. 1. 简化条件表达式 经常碰到这种情况,要判断某个变量是否为指定的某些值,用常规的逻辑表达式会很长.我的做法是把这些值放进数组里: // 太长的逻辑表达式 if (x === 'abc' ||…
简洁高效是合宙产品的一个重要特点,合宙的工程师们用Demo取代繁杂的说明书,以便于开发者快速上手. 有没有可能把这个学习的过程变得更有趣,并且把技术入门难度进一步降低?作为一名Luat技术爱好者,我对此进行了研究,并初步尝试开发了YAP物联网通信终端机这个产品. YAP终端机简介 YAP物联网通信终端基于合宙当红物联网Cat.1模块-- Air724UG,采用蜂窝物联网4G LTE Cat.1通信技术,兼具通讯和边缘数据处理功能,可以胜任多数物联网应用场景的技术学习和产品原型开发场景. YAP的…
做过一段时间的Web开发,我们都知道或者了解JavaScript中有个非常强大的语法,那就是闭包.其实,在PHP中也早就有了闭包函数的功能.早在5.3版本的PHP中,闭包函数就已经出现了.到了7以及后来的现代框架中,闭包函数的使用更是无处不在.在这里,我们就先从基础来了解PHP中闭包的使用吧! 闭包函数(closures)在PHP中都会转换为 Closure 类的实例.在定义时如果是赋值给变量,在结尾的花括号需要添加;分号.闭包函数从父作用域中继承变量,任何此类变量都应该用 use 语言结构传递…
很多同学或多或少都用到了Zookeeper,并知道它能实现两个功能 配置中心,实现表分片规则的统一配置管理 注册中心,实现sharding-proxy节点的服务地址注册 那么Zookeeper到底是什么?以及为什么能实现这样的功能?接下来我们就来了解一下Zookeeper. Zookeeper的前世今生 Apache ZooKeeper是一个高可靠的分布式协调中间件.它是Google Chubby的一个开源实现,那么它主要是解决什么问题的呢?那就得先了解Google Chubby Google…
在后端开发中经常会碰到涉及数据库的场景,不知道屏幕前的你有这样的疑惑没有,每每在遇到时间.日期字段总是让人头疼,分不清到底是选date还是datetime,亦或是timestamp,真是抓耳挠腮啊,怎么办呐,大都翻看之前的表结构,把之前的时间.日期类型抄过来,草草了事.以至于在后面的开发中总是为时间.日期类型做特殊处理,过后便不再理会这事了,今天就把这事一次性说明白.这里的环境是mysql 一.引言 在mysql中表示日期和时间的数据类型,大体上有下面几种, 序号 名称 描述 定义方式 格式 范…