09 2019 档案

摘要:Redis是内存数据库。接口好用,性能也很强,还支持多种数据结构,加上各种高可用性集群方案,种种优势源自于它的设计——简单直接的单线程内存操作。但是 阅读全文
posted @ 2019-09-17 14:30 吴小波 阅读(181) 评论(0) 推荐(0)
摘要:消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。RabbitMQ比Kafka成熟,在可用性上,可靠性上,稳定性上,RabbitMQ理论上胜于Kafka,由于Kafka设计初衷是处理日志,可以看做是日志(消息)系统一个重要组件,针对性很强,虽然吞吐量远高于RabbitMQ,但从业务方面考虑还是建议选择RabbitMQ。 阅读全文
posted @ 2019-09-12 14:56 吴小波 阅读(210) 评论(0) 推荐(0)
摘要:为什么有了 Linkerd 和 Envoy 之后,还会进一步进化出 Istio 和 Conduit。它们相对于老的 serive mesh 框架最大的特点就是基于 Kubernetes 设计,补足了Kubernetes在微服务间服务通讯上的短板。虽然Dubbo、Spring Cloud等都是成熟的微服务框架,但是它们或多或少都会和具体语言或应用场景绑定,并只解决了微服务Dev层面的问题。若想解决Ops问题,它们还需和诸如Cloud Foundry、Mesos、或Kubernetes这类资源调度框架做结合。云平台(或者自建机房) 为微服务提供了资源能力(计算、存储和网络等),容器 作为最小工作单元被 Kubernetes 调度和编排,Service Mesh 管理微服务的服务通信,最后通过 API Gateway 向外暴露微服务的业务接口。 阅读全文
posted @ 2019-09-06 14:56 吴小波 阅读(623) 评论(0) 推荐(0)
摘要:反射是什么?官方给出的解释:反射提供了封装程序集、模块和类型的对象(System.Type类型)。可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。 个人理解:在运行态下,动态访问、修改自身的功能。今天我们利用反射为程序动态加载程序集(Assembly),System.Reflection命名空间是我们实现该功能的基础。 阅读全文
posted @ 2019-09-03 16:24 吴小波 阅读(259) 评论(0) 推荐(0)