<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>Redis - 标签 - 开发者技术小屋</title>
        <link>https://www.developerhome.net/tags/redis/</link>
        <description>Redis - 标签 - 开发者技术小屋</description>
        <generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Fri, 08 Mar 2019 18:52:48 &#43;0000</lastBuildDate><atom:link href="https://www.developerhome.net/tags/redis/" rel="self" type="application/rss+xml" /><item>
    <title>go-micro系列（一） —— go-micro介绍</title>
    <link>https://www.developerhome.net/archives/277/</link>
    <pubDate>Fri, 08 Mar 2019 18:52:48 &#43;0000</pubDate>
    <author>Jarod</author>
    <guid>https://www.developerhome.net/archives/277/</guid>
    <description><![CDATA[<div class="featured-image">
                <img src="/uploads/2026/06/cover-277.jpg" referrerpolicy="no-referrer">
            </div><p>go-micro是一个go语言的微服务框架，可以大幅度的提升开发效率，并完成一套微服务的架构，其架构借用官方的图</p>
<h3 id="go-micro的架构图">go-micro的架构图</h3>
<p>其项目地址github: <a href="https://github.com/micro/go-micro" target="_blank" rel="noopener noreffer ">https://github.com/micro/go-micro</a></p>
<p>首先go-micro框架是一套微服务分布式的框架，其拥有以下特性：</p>
<ul>
<li>服务注册/发现</li>
<li>负载均衡</li>
<li>消息解码，并默认支持json以及protobuf</li>
<li>基于rpc的请求响应</li>
<li>异步的消息通讯</li>
<li>最后也是我觉得最牛的一点，接口可插拔，你可以不管用运行环境到底是使用的etcd或者consul来做服务发现，是使用http或rabbitmq做通讯，使用kafka做订阅还是用rabbitmq或者redis，是的，所有的一些都是可以插拔的，只要在运行时加入对应的启动参数，就可以使用对应的插件</li>
</ul>
<p>有人可能第一次接触<strong>微服务</strong>这个词，微服务的概念，可以理解为，讲一个单一应用，拆分成一套小型服务的方法，每个服务都做单独的部署，单独的开发，内部甚至可以使用不同的语言来实现。微服务的理念在传统的单机部署中并未见到明显的优势，但当越来越多的应用被部署到云中的时候，微服务的优势就立刻体现出来了，包括：</p>
<h3 id="单应用共用数据库而微服务每个服务使用不同或相同数据库">单应用共用数据库，而微服务每个服务使用不同或相同数据库</h3>
<ul>
<li>独立部署，每个服务独立去部署，独立运行于不同的进程，使得每个服务可以根据负载做部署数量调整</li>
<li>服务降级，当系统负载增高，需要对某些关键业务做优先增配时，可以对不关键、低级别的业务做服务降级，临时关闭某些服务来保证关键业务的稳定</li>
<li>功能单一，技术选型更广，由于微服务的功能相对单一，可以针对不同的微服务采用更适合的编程语言、数据库等，例如做朋友关系、二度好友功能就考虑使用neo4j的图形数据库，底层稳定性要求高的微服务则可以通过Java来开发，并发比较高的微服务则可以考虑使用Go来开发等等</li>
<li>后期维护隔离，对功能的后期开发升级不会影响整体的应用稳定性</li>
<li>单独测试，单独开发，可以使每个微服务由不同的团队去开发、去单独测试，增加了整体开发的速度</li>
<li>复用性，多个不同的应用可以直接复用某个微服务</li>
</ul>
<h3 id="单应用不同模块运行在单一进程中而微服务则每个服务运行于不同的进程">单应用不同模块运行在单一进程中，而微服务则每个服务运行于不同的进程</h3>
<p>而go-micro正是这样一个针对微服务开发的框架，其将所有热插拔的插件发布于<a href="https://github.com/micro/go-plugins/" target="_blank" rel="noopener noreffer ">go-plugins</a>，开发者可以根据需求引用，同时在运行时追加响应的运行参数即可启用插件。</p>
<p>好了，这章简单的介绍了go-micro这个框架以及微服务的概念，下一章讲开始go-micro的源码解析</p>]]></description>
</item>
<item>
    <title>redis配置文件的详解（转）</title>
    <link>https://www.developerhome.net/archives/57/</link>
    <pubDate>Mon, 17 Apr 2017 17:36:22 &#43;0000</pubDate>
    <author>Jarod</author>
    <guid>https://www.developerhome.net/archives/57/</guid>
    <description><![CDATA[<div class="featured-image">
                <img src="/uploads/2026/06/cover-57.jpg" referrerpolicy="no-referrer">
            </div>此篇文章记录了redis的默认配置，并将部分重要配置做了相关说明，方便读者做相关调整和优化使用。]]></description>
</item>
</channel>
</rss>
