在微服务架构实践中,一个难点是服务发现。每一个服务采用分布式部署,保证了拓展性和容错性,但带来了一个难点是如何监控这些服务,如何找到这些服务。
服务发现的种类有两种:客户端发现和服务端发现
客服端发现-客户端或者API网关查询注册中心获取服务的位置信息。支持服务注册的软件有Etcd
,Zookeeper
,Consul
等
在微服务架构实践中,一个难点是服务发现。每一个服务采用分布式部署,保证了拓展性和容错性,但带来了一个难点是如何监控这些服务,如何找到这些服务。
服务发现的种类有两种:客户端发现和服务端发现
客服端发现-客户端或者API网关查询注册中心获取服务的位置信息。支持服务注册的软件有Etcd
,Zookeeper
,Consul
等
英文原文:two-factor authentication (2FA)
Two-factor authentication (2FA), often referred to as two-step verification, is a security process in which the user provides two authentication factors to verify they are who they say they are. 2FA can be contrasted with single-factor authentication (SFA), a security process in which the user provides only one factor – typically a password.
双因素身份认证(2FA),经常被认为是两步骤认证(two-step verification)。它是一个安全处理措施,用户需要提供2个认证因素来证明他们的身份。2FA可以和单因素认证(single-factor authentication)进行一个对比,单因素认证只需要提供一个认证因素,典例的是密码认证
HTTP状态码(HTTP Status Code)是3位数字代码,用来表示服务器HTTP响应状态,它由RFC2616
规范定义的。所有状态码第一个数字代表其所属的状态分类。服务端返回响应数据时候,HTTP协议号和状态码作为Response line
返回给客户端
在开发过程中,特别是基于RESTful架构
,一个语义正确的HTTP状态码,显得十分有必要,它能够帮助客户端接受者能够从状态码快速甄别资源的状态。作为服务提供者,需要在客户端请求和服务的状态下选择一个正确的状态往往不是那么容易的事情。比如客户端访问一个受限的资源,返回401还是403就得细细考虑了。
作为一名PHPer,在开发(ban zhuan)过程中,没有一个犀利的编辑器怎么能行。sublime是我最喜欢的编辑器,具有强大的拓展功能,有许多丰富的插件支撑。
下面是我目前使用的插件:
Package Control
强大的Sublime插件管理工具
Boxy
一个十足极客范的Sublime主题,支持多种主题颜色切换
原文地址:Top 6 Refactoring Patterns to Help You Score 80% in Code Quality
在过去做了不少代码审核,发现了一些代码质量上普遍存在的问题,以下是其中的前五名:
类之所以会臃肿,是因为开发者缺乏对最基本的编码原则,即“单一职责原则”(SRP)的理解。这些类往往会变得很臃肿,是由于不同的且在功能上缺少关联的方法都放在了相同的类里面。
解决方法:提取类/抽离方法
正如上面提到的,像“臃肿的类”(一个类提供了本该有几个类提供的功能)这种代码异味应该将原有类中的方法和属性移动到适当数目的新类中去。旧类中对应新类的方法和属性应该被移除。
另外,有时候一些类过于臃肿是因为它包含了被其他类使用本应该是其他类的成员方法的成员方法。这些方法也应该被迁移到合适的类中。
在PHP开发过程中找到并修复性能瓶颈(performance bottlenecks)往往是非常困难和耗时的。为了定位问题,我们可能会在疑似影响性能的代码的开始和结束之间打上标记点,计算时间差,来定位问题,CI框架提供的基准测试类就是这样工作,这种方式对小型项目起到方便快捷的作用,但对大项目往往吃力不讨好,好比在工业时代,却是用石器时代的工具。这时候我们可以借助Xdebug,webgrind这样的工具来定位到和可视化php代码中的性能瓶颈。
Xdebug是PHP拓展,可以用来跟踪,调试和分析PHP程序的运行状况。而Webgrind是Web应用,提供一个可视化工具,来分析、查看Xdebug性能日志功能。在Linux KDE环境下可以用KChaceGrind
,windows 下可以用winChaceGrind
来替换Webgrind查看分析Xdebug日志。
原文链接:https://www.theodo.fr/blog/2016/06/improve-the-performance-of-your-webapp-configure-nginx-to-cache/
Sometimes, improving the user’s loading experience is not enough, and you need real changes to make your application load faster.
So you try CSS and JS minification or image compression but your app is only a bit faster to load. These tricks reduce the size of resources that need to be downloaded, but what if your users didn’t have to download anything at all? That’s what caching is for!
In this article, I will explain how you can configure Nginx to enable the browser cache, thus avoiding painfully slow downloads. If you are not familiar with Nginx, I recommend reading this article.